数据结构与算法
_参天小草_
这个作者很懒,什么都没留下…
展开
-
各种排序算法
选择排序、快速排序、希尔排序、堆排序不是稳定的排序算法; 冒泡排序、插入排序、归并排序和基数排序是稳定的排序算法。 冒泡法: 这是最原始,也是众所周知的最慢的算法了。复杂度为O(n*n)。当数据为正序,将不会有交换,此时复杂度为O(0)。 直接插入排序:O(n*n) 选择排序:O(n*n) 快速排序:平均时间复杂度log2(n)*n,所有内部排序方法中最高好转载 2015-08-30 21:48:58 · 347 阅读 · 0 评论 -
Linux内核链表
链表是一种常用的数据结构,它通过指针将一系列数据节点连接成一条数据链。相对于数组,链表具有更好的动态性。原创 2015-08-28 21:37:29 · 396 阅读 · 0 评论 -
不排序找到第k大的值
给定一个拥有n个数据的无序集合,以及k(1≤k≤n),找出该集合中第k大的值。原创 2015-11-08 22:21:18 · 2508 阅读 · 0 评论 -
字符串匹配算法之KMP算法
一个主字符串S,一个模式字符串T,要求在主字符串中匹配模式字符串,匹配成功则返回主字符串中和模式字符串匹配成功的第一个字符的位置,否则返回-1。转载 2015-09-16 17:37:19 · 440 阅读 · 0 评论 -
单链表反转
单链表反转转载 2015-09-20 14:40:55 · 386 阅读 · 0 评论 -
线性表、栈和队列
简单介绍了线性表、栈和队列的实现原创 2015-08-30 22:12:09 · 583 阅读 · 0 评论 -
冒泡排序、归并排序、快速排序、堆排序
介绍了冒泡排序、归并排序、快速排序、堆排序的代码实现原创 2015-08-30 22:03:47 · 567 阅读 · 0 评论 -
树和二叉树
树是n个结点的有限集。二叉树是一种树形结构,它的特点是每个结点至多只有两棵子树,并且子树有左右之分,其次序不能任意颠倒。原创 2015-08-31 15:59:46 · 325 阅读 · 0 评论 -
图
图的存储方法有四种方法,分别为数组表示法,邻接表,十字链表,邻接多重表。原创 2015-08-31 16:02:21 · 292 阅读 · 0 评论 -
Linux内核队列——kfifo
内核kfifo转载 2016-09-04 22:50:13 · 1538 阅读 · 0 评论