
数据结构面试
黑夜中坚持
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
算法岗位之数据高级算法7
Kruskal(最小生成树)算法的基本过程Kruskal算法是以边为主导地位,始终选取当前可用的拥有最小权值的边,所选择的边不能构成回路。首先构造一个只有n个顶点没有边的非连通图,给所有的边按值以从小到大的顺序排序,选择一个最小权值边,若该边的两个顶点在不同的连通分量上,加入到有效边中,否则舍去这条边,重新选择权值最小的边,以此重复下去,直到所有顶点在同一连通分量上。连通图:如果图中任意...原创 2020-03-12 00:34:44 · 142 阅读 · 0 评论 -
算法岗位之数据结构排序6
对一千万个整数排序,整数范围在[-1000,1000]间,用什么排序最快?在以上的情景下最好使用计数排序,计数排序的基本思想为在排序前先统计这组数中其它数小于这个数的个数,其时间复杂度为O(n+k),其中n为整数的个数,k为所有数的范围,此场景下的n>>k,所以计数排序要比其他基于的比较排序效果要好。...原创 2020-03-11 22:23:21 · 274 阅读 · 0 评论 -
算法岗位之数据结构堆栈4
大顶堆怎么插入删除插入:在一个大顶堆之后插入新的元素可能会破坏堆的结构,此时需要找到新插入节点的父节点,对堆进行自下而上的调整使其变成一个大顶堆。删除:将堆的最后一个元素填充到删除元素的位置,然后调整堆结构构造出新的大顶堆堆栈区别一、堆栈空间分配区别:1)栈(操作系统):由操作系统自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈;2)堆(操作系统...原创 2020-03-11 22:22:39 · 113 阅读 · 0 评论 -
算法岗位之数据结构字符串3
中缀表达式转后缀表达式对于中缀表达式,遇到操作数直接将其输出,如果遇到操作符和左括号全部压入栈中,若遇到右括号则将栈中元素全部弹出,直到遇到左括号为止。压栈过程中,1)如果读到运算符优先级大于等于栈顶运算符优先级,则将当前读到运算符入栈2)如果读到运算符优先级低于栈顶运算符优先级,则将栈中的元素依次输出直到遇到更低优先级的操作符为止,再将读到运算符入栈.后缀表达式的计算从左向右扫...原创 2020-03-11 21:16:17 · 112 阅读 · 0 评论 -
算法岗位之数据结构树5
红黑树红黑树(Red Black Tree)是一种自平衡二叉查找树,是在计算机科学中用到的一种数据结构,典型的用途是实现关联数组。红黑树和AVL树类似,都是在进行插入和删除操作时通过特定操作保持二叉查找树的平衡,从而获得较高的查找性能。它虽然是复杂的,但它的最坏情况运行时间也是非常良好的,并且在实践中是高效的:它可以在O(log n)时间内做查找,插入和删除,这里的n 是树中元素的数目。...原创 2020-03-11 03:21:56 · 180 阅读 · 0 评论 -
算法岗位之数据结构哈希部分2
Hash表处理冲突的方法开放定址法链地址法将所有Hash地址相同的记录都链接在同一链表中再Hash法同时构造多个不同的Hash函数,当产生冲突时,计算另一个Hash函数地址直到不再发生冲突为止。建立公共溢出区将Hash表分为基本表和溢出表,若是与基本表发生冲突,都放入溢出表。一致性哈希一致性哈希算法在1997年由麻省理工学院提出,设计目标是为了解决因特网中的热点(Ho...原创 2020-03-11 01:42:30 · 156 阅读 · 0 评论