C语言II博客作业02
1.作业头
这个作业属于哪个课程 | https://edu.cnblogs.com/campus/zswxy/CST2020-4/ |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/CST2020-4/homework/11824 |
这个作业的目标 | 让我们更好的学习数组 |
学号 | 20209074 |
一、本周教学内容&目标 | |
第七章 数组 7.17.1 输出所有大于平均值的数 | |
1.学生知道在哪种情况下可以使用构造数据类型—数组进行数据的处理 | |
2.掌握用一维数组进行编程 | |
3.掌握选择排序法和二分查找法 | |
二、本周作业 | |
2.1 完成PTA作业,并给出编程题完成截图 |
7-1 年龄与疾病
7-2 选择排序法
2.2 题目:快速寻找满足条件的两个数
解法一:
元素 | sum | 结果 |
---|---|---|
10 | 11 | 29 38 |
1 2 3 4 5 6 7 8 9 | 47 56 | |
解法二: | ||
元素 | sum | 结果 |
----------------------- | ---- | ---------- |
11 | 13 | 211 310 49 |
1 2 3 4 5 6 7 8 9 10 11 | 58 67 | |
解法三: | ||
2.请说明三种算法的区别是什么?你还可以给出更好的算法吗? | ||
解法一采用穷举法,所谓穷举,顾名思义是将数组中每两两元素进行相加再与定值比较。 | ||
解法二与解法二相似,只是将运算加改成减。 | ||
解法三相对前两种解法有所不同,先排序,再采用二分法不断缩小目标所在范围,从而提升了算法的效率。 | ||
暂时不能用更好的算法。 | ||
2.3 请搜索有哪些排序算法,并用自己的理解对集中排序算法分别进行描述 | ||
平均时间复杂度 |
插入排序 O(n^2)
冒泡排序 O(n^2)
选择排序 O(n^2)
快速排序 O(n log n)
堆排序 O(n log n)
归并排序 O(n log n)
基数排序 O(n)
希尔排序 O(n^1.25)
2.4 请给出本周学习总结
1 学习进度条
周/日期 | 这周所花时间 | 代码行 | 学到的知识点简介 | 目前比较困惑的问题 |
---|---|---|---|---|
3.1-7 | 7h | 79 | 读取文件 | 很多问题都不明白 |
3.8-15 | 10h | 100 | 数组 字符串 | 许多东西半知半解 |
2 累积代码行和博客字数 | ||||
3 学习内容总结和感悟 | ||||
现在学习的东西难度大大加深了,而且老师给我们上课的时间也变少了,这很需要我们有较强的自学能力, | ||||
然后还是得多花功夫在上面,去PTA找一些题目写。 |