
算法
云程序员
“指点江山”的云程序员
展开
-
《算法》- 第4版- 1.3章(1.3.18-1.3.28)链表练习
/* *@program: algStudy *@description: 链表节点 *@author: chensy *@create: 2019-07-12 20:59 */class ListNode{ public int data; public ListNode next; public ListNode(int data){this.da...原创 2019-07-12 23:22:02 · 166 阅读 · 0 评论 -
《算法》- 第4版- 1.3章(1.3.29)链表练习
/* *@program: algStudy *@description: 环形链表实现的Queue, 只使用一个last指针 *@author: chensy *@create: 2019-07-13 13:36 */public class LinkedListDeQueue{ private ListNode last; private int size = ...原创 2019-07-13 15:00:26 · 169 阅读 · 0 评论 -
《算法》- 第4版- 1.3章(1.4.12)练习
题目 1.4.12 编写一个程序,有序打印给定的两个有序数组(含有 N 个 int 值) 中的所有公共元素,程序在最坏情况下所需的运行时间应该和 N 成正比。/* *@program: algStudy *@description: 打印两个有序数组中的公共元素 *@author: chensy *@create: 2019-07-14 09:44 */publi...原创 2019-07-14 09:55:11 · 187 阅读 · 0 评论 -
《算法》- 第4版- 2章(插入排序)
插入排序: 将第一个元素与第二个元素比较, 谁小谁插入到第一个位置, 再找第三个位置的,与第一个位置与第二个位置比较, 比较它与第一个第二个位置元素的大小, 依次类推 特点: 插入排序所需的时间, 取决于元素的初始顺序 /* *@program: algStudy *@description: 插入排序 *@autho...原创 2019-07-17 22:27:53 · 92 阅读 · 0 评论 -
《算法》- 第4版- 2章(选择排序)
选择排序: 先找到数组中最小的元素, 然后与数组的第一个元素交换位置,剩下的元素再找最小,按位置交换 特点: 排序时间与输入的数组有序是否无关 时间复杂度 O(n^2)/* *@program: algStudy *@description: 选择排序 *@author: chensy *@create: 2019...原创 2019-07-17 22:29:40 · 155 阅读 · 0 评论 -
《算法》- 第4版- 2章(希尔排序)
希尔排序: 又称递减增量排序, 非稳定性排序, 先将整个待排序的记录序列分割成为若干子序列分别进行直接插入排序,待整个序列中的记录“基本有序”时,再对全体记录进行依次直接插入排序。 特点:插入排序的高效改进版, 其划分的间隔以 (1 * 3 + 1) < length 计算 时间复杂度 O(n^3/2)/* *@pro...原创 2019-07-17 22:31:05 · 124 阅读 · 0 评论 -
《算法》- 第4版- 2章(归并排序)
希尔排序: 将一个数组进行递归的分为两半进行排序, 然后将结果归并起来. 即将数组进行分组, 分到最终无法再分(此时最有有两个元素), 再一一进行归并(进行两个数组每个元素之间进行比较) 时间复杂度: O(nlogn)自顶向上的方法/* *@program: algStudy *@description: 归并排序(自顶向上的方法) *@...原创 2019-07-17 22:35:57 · 172 阅读 · 0 评论