码迷,mamicode.com
首页 >  
搜索关键字:头指针 插入删除    ( 1800个结果
算法回顾(三) 二分查找
二分查找,顾名思义,它的原理是,将排序好的数列分成两部分,判断期待值在高位部分还是在低位部分,然后再将期待值所在的那个区间的数列重新按照这个规则划分成两部分,再比较,直到最后不能划分为止。优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。因此,折半查找方法适用于不...
分类:编程语言   时间:2015-08-12 18:39:15    阅读次数:125
字符串的编辑距离
字符串的相似度定义为:将一个字符串转换成另外一个字符串时需要付出的代价。转换可以采用插入、删除和替换三种编辑方式,因此转换的代价就是对字符串的编辑次数。作为对比采用两种方式:递归算法和动态规划算法朴素递归方式实现:朴素递归方式很清晰,很简洁,但是时间复杂度很高public static int ed...
分类:其他好文   时间:2015-08-12 16:44:27    阅读次数:110
二分查找的两种实现方式(JAVA)
二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。因此,折半查找方法适用于不经常变动而查找频繁的有序列表。首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表分成前、后两个子表,如果中间位置记录的关键字大于查找关键字,则进一步查找前一子表,否则进一步查找后一子表。重复以上...
分类:编程语言   时间:2015-08-11 23:27:20    阅读次数:182
23.Merge k Sorted Lists (Array; Sort)
Mergeksorted linked lists and return it as one sorted list. Analyze and describe its complexity.思路I: 选择排序每次都比较各个list的头指针所指的val,取最小的那个。时间复杂度O(n2)Result...
分类:其他好文   时间:2015-08-11 20:47:38    阅读次数:121
红黑树
红黑树是一种自平衡二叉查找树,具有在最坏情况下查找、插入、删除O(log2n)的复杂度。红黑树中从根节点到任意一叶子节点的最长路径不超过最短路径的两倍,因此是一种近似平衡的二叉树。节点信息红黑树的节点具有如下信息:struct RBNode{ int data; //数据 int color; .....
分类:其他好文   时间:2015-08-11 18:37:13    阅读次数:189
Hashmap实现原理
0.参考文献:hash算法 (hashmap 实现原理)Java实现的散列表1.HashMap的数据结构 数组的特点是:寻址容易,插入和删除困难;而链表的特点是:寻址困难,插入和删除容易。那么我们能不能综合两者的特性,做出一种寻址容易,插入删除也容易的数据结构?答案是肯定的,这就是我们要提起的哈希....
分类:其他好文   时间:2015-08-11 09:59:58    阅读次数:114
nginx高级数据结构源码分析(一)-----双向链表
ng_queue_t是Nginx提供的一个顺序容器,它以双向链表的方式将数据组织在一起。 链表作为顺序容器的优势在于,它可以高效的执行插入、删除、合并等操作,在移动链表中的元素时只需要修改指针的指向,因此,它很适合频繁修改容器的场合。 相对于其他顺序容器,它的优势有以下三点:   (1)  实现了排序功能,采用额是插入排序,虽然不太适合超大规模数据的排序,但是简单实用。 (2)  它非常轻...
分类:其他好文   时间:2015-08-10 22:26:02    阅读次数:166
栈、队列、哈希表的特性
栈是一种特殊的线性表,它只在线性表的一端进行插入和删除操作。栈中允许插入、删除的这一端称为栈顶,另一个固定端称为栈底。当表中没有元素时称为空栈。其特点是先进后出或后进先出。 队列是一种只允许在标的一端插入,在另一端删除的存取首先得线性表。允许插入的一端称为队尾,允许删除的一端称为对头;不含...
分类:其他好文   时间:2015-08-10 22:01:47    阅读次数:122
自己动手实现数据结构——AVL树(C++实现)
这类教程有很多了,就用C++简单实现下以供记录和参考,以后再有补充版本。 实现了查找和插入、删除操作有些复杂,感觉个人实现的效率不是很高,以后再补充,先把做过的东西记录下来。 Avl.h #ifndef __AVL_H #define __AVL_H #include #include template struct AvlNode{ T data; int he...
分类:编程语言   时间:2015-08-10 13:37:39    阅读次数:154
二分查找法。
二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。因此,折半查找方法适用于不经常变动而查找频繁的有序列表。首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表分成前、后两...
分类:其他好文   时间:2015-08-09 20:24:22    阅读次数:129
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!