C语言II博客作业02
这个作业属于哪个课程 | 计科三班 |
---|---|
这个作业要求在哪里 | 作业要求 |
我在这个课程的目标是 | 了解数组的使用方法 |
学号 | 20209033 |
2.1 完成PTA作业,并给出编程题完成截图(5分)
2.1.1年龄与疾病
2.1.2选择排序法
2.2 题目:快速寻找满足条件的两个数
2.2.1根据三种解法给出相应的代码,并给出测试数据。(15分)
解法一:采用穷举法,从数组中任意取出两个数字,计算两者之和是否为给定的数字。
解法二:对数组中的每个数字arr[i]都判别Sum-arr[i]是否在数组中。
解法三:对数组进行排序,然后使用二分查找法针对arr[i]查找Sum-arr[i]。
2.2.2请说明三种算法的区别是什么?你还可以给出更好的算法吗?(10分)
第一种方法运行速度慢,第二种方法相对较快,比第一种简单,第三种方法复杂但是使用范围更大
2.3 请搜索有哪些排序算法,并用自己的理解对集中排序算法分别进行描述(5分)
冒泡排序:两两交换,每次只交换相邻的两个元素,直到没有元素可以交换。
插入排序:通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。
选择排序:先确定最大或最小元素作为排序的起始和末尾位置,然后再慢慢跟着这样来,直到排列完毕。
2.4学习总结
2.4.1 学习进度条
周 | 这周所花的时间 | 代码行 | 学到的知识点简介 | 目前比较迷惑的问题 |
---|---|---|---|---|
第一周 | 8 | 86 | 文件的使用 | 文件与程序的串联 |
第二周 | 9 | 95 | 数组的使用方法 | 算法的使用 |
2.4.2累积代码行和博客字数(5分) | ||||
2.4.3 学习内容 | ||||
1.了解了一些简单的排序方式 | ||||
2.使用数组进行编程 |