
c++
sinat_22828505
这个作者很懒,什么都没留下…
展开
-
算法:阿克曼函数(C++)
算法原理 阿克曼函数定义: { n+1; m=0,n>0 A(m,n) = { A(m-1,1); n=0,m>0 { A(m-1,A(m,n-1)) n>0,m>0 #include<iostre转载 2015-12-11 15:31:49 · 10491 阅读 · 2 评论 -
算法:汉诺塔问题(c++)
算法原理 首先把三根柱子按顺序排成品字型,把所有的圆盘按从大到小的顺序放在柱子A上,根据圆盘的数量确定柱子的排放顺序:若n为偶数,按顺时针方向依次摆放 A B C; 若n为奇数,按顺时针方向依次摆放 A C B。 (1)按顺时针方向把圆盘1从现在的柱子移动到下一根柱子,即当n为偶数时,若圆盘1在柱子A,则把它移动到B;若圆盘1在柱子B,则把它移动到C;若圆盘1在柱子C,则把它移动到A。 (2转载 2015-12-11 15:30:17 · 1093 阅读 · 0 评论 -
算法:二分查找算法(c++)
算法原理: (1)首先确定该区间的中点位置: mid = (low + high) / 2; (2)然后将待查的K值与Array[mid].key比较:若相等,则查找成功并返回此位置,否则须确定新的查找区间,继续二分查找,具体方法如下: ①若array[mid].key>K,则由表的有序性可知array[mid..n]均大于K,因此若表中存在关键字等于K的结点,则该结转载 2015-12-11 15:27:30 · 605 阅读 · 0 评论 -
算法之排序算法:插入排序(C++)
算法原理 设存在一个一维数组 array[n], 第 i 趟排序是将数组中下标为 i的元素插入到一个已经按值有序排列的子序列的合适位置。 (1)插入排序开始时, 第一个元素看成有序序列,从下标为 i = 1 的第二个元素开始,每一趟排序都将下标为 i 的元素插入到之前的有序序列中,然后 i = i + 1 进行下一个元素的插入排序,由此可见插入排序需要 n - 1 趟排序 (2)每次寻找插入元原创 2015-12-11 15:25:29 · 423 阅读 · 0 评论