- 博客(5)
- 收藏
- 关注
原创 二分查找法
升序排列的n个元素集合A分成个数大致相同的两部分,取A[n/2]与欲查找的find作比较,如果相等则表示找到find,算法终止。如果findA[n/2],则在A的后半部继续搜索find。二分查找也称折半查找(Binary Search),它是一种效率较高的查找方法。但是,折半查找要求线性表必须采用顺序存储结构,而且表中元素按关键字有序排列。2.mid =( low+high ) / 2 这样写存在数据溢出的可能,需要尽可能避免。
2023-01-11 09:00:00
128
原创 数组的应用(三)插入排序
插入排序(InsertionSort),一般也被称为直接插入排序。插入排序是一种最简单的排序方法,是将一个记录插入到已经排好序的序列中。在实现过程使用双层循环,外层循环对除了第一个元素之外的所有元素,内层循环对当前元素前面有序表进行待插入位置查找,并进行移动。第一层的循环控制变量初值是1,第0个元素是已排序的(实际无需排序),第二层循环控制变量的初值是i,在已排序的元素中比较并插入的合适的位置。对较少的元素进行排序。
2023-01-10 09:00:00
205
原创 数组的应用(二)选择排序
选择排序法(selection sort)的基本思想是第i趟选择排序通过n-i次关键码的比较,从n-i+1个记录中选出关键码最小的记录,并和第i个记录进行交换。第一层循环的终值是n-1,第二层的初值是i+1,因为前i个元素已经排过序。
2023-01-09 09:00:00
129
原创 数组的应用(一)冒泡排序
在函数的循环中,第一层循环的终值是n-1。第二层的循环的终值是n-1-i,因为外循环每运行一次,就有一个元素已经完成排序,不需要比较该元素。冒泡排序法(bubble sort)的基本思想是通过相邻两个记录之间的。比较和交换,使关键码较小的记录逐渐从底部移向顶部(上升),关键码较大的记录逐渐从顶部移向底部(沉底),冒泡由此得名。排序问题是程序设计中的典型问题,它有很广泛的应用,其功能是。将一个数据元素序列的无序序列调整为有序序列。
2023-01-08 09:00:00
129
原创 汉诺塔问题C++语言
设有A、B、C三个塔座,在塔座A上有n个圆盘,这些圆盘自上而下由小到大的叠在一起。把n个盘子分解为n和n-1个盘子,所以必须先解决n-1个盘子的移动问题;依次类推,最后分解为一个盘子的移动问题,汉诺塔问题自然就解决了。②不能将较大的圆盘压在较小的圆盘之上;③移动中可以使用A、B、C任意一塔座。①每次只能移动一个圆盘;
2023-01-07 14:36:14
1857
1
中国大学MOOC西工大C++课程PPT
2023-01-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅