上一页 1 2 3 4 5 6 7 8 9 10 ··· 12 下一页
摘要: 1. 快速排序法介绍: 快速排序(Quicksort)是对冒泡排序的一种改进。 2. 基本思想:(分治) 先从数列中取出一个数作为key值; 将比这个数小的数全部放在它的左边,大于或等于它的数全部放在它的右边; 对左右两个小数列重复第二步,直至各区间只有1个数。 (通过一趟排序将要排序的数据分割成独 阅读全文
posted @ 2019-07-25 22:25 猫不夜行 阅读(603) 评论(0) 推荐(0) 编辑
摘要: 1.插入排序存在问题 数组 arr = {2,3,4,5,6,1} ,在需要插入的数 1(最小)时,过程为: {2,3,4,5,6,6}{2,3,4,5,5,6}{2,3,4,4,5,6}{2,3,3,4,5,6}{2,2,3,4,5,6}{1,2,3,4,5,6} 结论:当需要插入的数是较小的数时 阅读全文
posted @ 2019-07-25 20:11 猫不夜行 阅读(931) 评论(0) 推荐(0) 编辑
摘要: 1.插入排序(Insertion Sort)基本思想 把n个待排序的元素看成为一个有序表和一个无序表 开始时有序表中只包含一个元素,无序表中包含有n-1个元素 排序过程中每次从无序表中取出第一个元素,把它的排序码依次与有序表元素的排序码进行比较,将它插入到有序表中的适当位置 使之成为新的有序表。 插 阅读全文
posted @ 2019-07-25 14:45 猫不夜行 阅读(903) 评论(0) 推荐(0) 编辑
摘要: 1. 基本思想 选择排序(select sorting)的基本思想是: 1)对于一个大小为n的数组,选择排序共执行n-1轮排序 2)每轮排序寻找到该轮最小的数放到开始位置上: 先假定当前这个数是最小数 然后和后面的每个数进行比较,如果发现有比当前数更小的数,就重新确定最小数,得到下标 当遍历到数组的 阅读全文
posted @ 2019-07-25 14:09 猫不夜行 阅读(698) 评论(0) 推荐(0) 编辑
摘要: 1. 介绍 冒泡排序(Bubble Sorting)的基本思想是:通过对待排序序列从前向后(从下标较小的元素开始),依次比较相邻元素的值,若发现逆序则交换,使值较大的元素逐渐从前移向后部,就象水底下的气泡一样逐渐向上冒。 假设数组长度为n,冒泡排序共执行n-1次排序,在第i次排序中对从第一个元素到第 阅读全文
posted @ 2019-07-25 13:54 猫不夜行 阅读(449) 评论(0) 推荐(0) 编辑
摘要: 1.度量一个程序(算法)执行时间的两种方法 1)事后统计的方法 这种方法可行, 但是有两个问题:一是要想对设计的算法的运行性能进行评测,需要实际运行该程序;二是所得时间的统计量依赖于计算机的硬件、软件等环境因素, 这种方式,要在同一台计算机的相同状态下运行,才能比较那个算法速度更快。 2)事前估算的 阅读全文
posted @ 2019-07-25 11:58 猫不夜行 阅读(803) 评论(0) 推荐(0) 编辑
摘要: 1. 递归解决问题 各种数学问题如:8皇后问题,汉诺塔,阶乘问题,迷宫问题,球和篮子的问题(google编程大赛) 各种算法中也会使用到递归,比如快速排序,归并排序,二分查找,分治算法等 将用栈解决的问题—>代码比较简洁 2. 递归调用机制 当程序执行到一个方法时,就会开辟一个独立的空间(栈) 每个 阅读全文
posted @ 2019-07-25 01:21 猫不夜行 阅读(1119) 评论(0) 推荐(0) 编辑
摘要: 1.栈(Stack)的介绍 栈是一个先入后出(FILO:First In Last Out)的有序列表。 栈(Stack)是限制线性表中元素的插入和删除只能在同一端进行的一种特殊线性表。 允许插入和删除的一端,为变化的一端,称为栈顶(Top),另一端为固定的一端,称为栈底(Bottom)。 根据栈的 阅读全文
posted @ 2019-07-25 00:16 猫不夜行 阅读(7857) 评论(0) 推荐(1) 编辑
摘要: 1.Josephu(约瑟夫、约瑟夫环)问题: 设编号为1,2,… n的n个人围坐一圈,约定编号为k(1<=k<=n)的人从1开始报数,数到m 的那个人出列,它的下一位又从1开始报数,数到m的那个人又出列,依次类推,直到所有人出列为止,由此产生一个出队编号的序列。 提示: 用一个不带头结点的循环链表来 阅读全文
posted @ 2019-07-24 23:28 猫不夜行 阅读(2049) 评论(0) 推荐(0) 编辑
摘要: 管理单向链表的缺点分析: 单向链表,查找的方向只能是一个方向,而双向链表可以向前或者向后查找。 单向链表不能自我删除,需要靠辅助节点 ,而双向链表,则可以自我删除,所以前面我们单链表删除时节点,总是找到temp,temp是待删除节点的前一个节点。 示意图 对上图的说明: 分析双向链表的遍历、添加、修 阅读全文
posted @ 2019-07-24 23:01 猫不夜行 阅读(599) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 9 10 ··· 12 下一页