一本小小的红色写作书 开门见山 把重要的话说在前头 A、听——准确抓住重点 B、说——清晰、有条理 C、读——快速理解意思 D、写——有序表达 文章来源:刘俊涛的博客 欢迎关注,有问题一起学习欢迎留言、评论 ...
分类:
其他好文 时间:
2019-03-22 18:33:19
阅读次数:
116
一 初识Python python是一种面向对象、解释型的计算机程序语言。Python的创始人为吉多·范罗苏姆(Guido van Rossum)。1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言的一种继承。之所以选中Python作为程序的 ...
分类:
编程语言 时间:
2019-03-22 11:52:13
阅读次数:
183
# 1、在有序表中查找两数组指定的和,双指针法# 2、滑动窗口 : 连续子数组之和# 3、二分查找 : 顺序数组中查找特定的值# 4、递归程序的真正的构建是从底向上的,这就是为什么递归终止条件要写在最前面# 参见 反转链表的递归程序 LeetCode206# 5、 链表归并排序的递归过程,要好好体会 ...
分类:
其他好文 时间:
2019-03-17 15:53:17
阅读次数:
186
原理 将两个(或两个以上)有序表合并成一个新的有序表,即把待排序序列分为若干个子序列,每个子序列是有序的。然后再把有序子序列合并为整体有序序列。 归并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。 将已有序的子序列合并,得 ...
分类:
编程语言 时间:
2019-03-16 18:06:48
阅读次数:
201
1.归并排序时间复杂度为O(N*logN),额外的空间复杂度O(N)。 2.递归行为:一个数组的排序,先将左侧部分排好序,然后将右侧部分排好序,最后整体利用外排序的方式整体排好。 3.归并排序:将两个(或者两个以上)有序表合并成一个新的有序表,即把待排序的序列分成若干个子序列,在把有序的子序列合并为 ...
分类:
编程语言 时间:
2019-03-03 22:30:12
阅读次数:
158
一:定义 归并排序(MERGE-SORT)是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为二路归并。 二:解 ...
分类:
编程语言 时间:
2019-03-03 14:47:49
阅读次数:
199
SkipList 俗称跳表,跳表是一种随机化的数据结构,目前开源软件 Redis 和 LevelDB 都有用到它,它的效率和红黑树以及 AVL 树不相上下,但跳表的原理相当简单,只要你能熟练操作链表,就能轻松实现一个 SkipList。 有序表的搜索 考虑一个有序表: 从该有序表中搜索元素 < 23 ...
分类:
其他好文 时间:
2019-02-20 09:41:32
阅读次数:
284
直接插入排序算法 基本思想: 把n个待排序的元素看成一个有序表和一个无序表,开始时有序表中只有一个元素,无序表中有n-1个元素;排序过程即每次从无序表中取出第一个元素,将它插入到有序表中,使之成为新的有序表,重复n-1次完成整个排序过程。 实例: 0.初始状态 3,1,5,7,2,4,9,6(共8个 ...
分类:
编程语言 时间:
2019-01-08 19:18:18
阅读次数:
130
首先看一下内部排序分类以及各个算法的时间复杂度和空间复杂度 一、插入排序 1、直接插入排序(Straight Insertion Sort)的基本思想是:把n个待排序的元素看成为一个有序表和一个无序表。开始时有序表中只包含1个元素,无序表中包含有n-1个元素,排序过程中每次从无序表中取出第一个元素, ...
分类:
编程语言 时间:
2019-01-03 10:52:27
阅读次数:
256