![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构和算法
文章平均质量分 87
JackComeOn
这个作者很懒,什么都没留下…
展开
-
二分查找算法的细节剖析
原文:https://www.cnblogs.com/kyoner/p/11080078.html我周围的人几乎都认为二分查找很简单,但事实真的如此吗?二分查找真的很简单吗?并不简单。看看 Knuth 大佬(发明 KMP 算法的那位)怎么说的:Although the basic idea of binary search is comparatively straightforward, the details can be surprisingly tricky…这句话可以这样理解:思路很简单转载 2021-01-09 15:59:05 · 244 阅读 · 1 评论 -
常见排序算法总结
常见排序算法总结冒泡排序。。。 待续原创 2018-10-13 19:23:53 · 221 阅读 · 0 评论 -
各种查找或者排序树,二叉排序树,平衡二叉树,AVL,红黑树,B+,B-树等的区别及应用
1. 用于查找的树1.1 二叉排序树SBT1.1.1 定义二叉排序树(Binary Sort Tree),又称二叉查找树(Binary Search Tree),亦称二叉搜索树。二叉排序树或者是一棵空树,或者是具有下列性质的二叉树:(1)若左子树不空,则左子树上所有结点的值均小于它的根结点的值;(2)若右子树不空,则右子树上所有结点的值均大于它的根结点的值;(3)左、右子树也分别为二...原创 2019-01-18 14:19:50 · 451 阅读 · 0 评论 -
哈希表
1 哈希函数的构造方法1.1 直接定址法1.2 数字分析法1.3 平方取中法1.4 折叠法1.5 除留余数法1.6 随机数法1.7 选择哈希函数需要考虑的因素2 哈希冲突解决方法2.1 开放定址法2.2 再哈希法2.3 链地址法2.4 建立一个公共溢出区3 哈希表查找查找取决于三个因素:哈希函数,处理冲突的方法和哈希表的装填因子3.1 冲突的影响3.2 哈希表的装填...原创 2019-01-20 11:11:26 · 670 阅读 · 0 评论 -
Python内置数据结构
文章目录Python数据结构1 List(数组,链表)1.1 内部实现1.2 常见操作与API2.栈2.1 内部实现2.2 常见操作与API3. 队列3.1 内部实现3.2 常见操作与API4. Dict(哈希表)4.1 内部实现4.2 常见操作与API5. Set5.1 内部实现5.2 常见操作与APIPython数据结构1 List(数组,链表)1.1 内部实现Python List内...原创 2018-10-12 20:07:36 · 235 阅读 · 0 评论 -
树的递归遍历,DFS遍历和BFS遍历
文章目录树的递归遍历,DFS遍历和BFS遍历问题解法一:递归遍历解法二:DFS遍历解法三:BFS遍历总结DFS模板BFS模板树的递归遍历,DFS遍历和BFS遍历问题解法一:递归遍历解法二:DFS遍历解法三:BFS遍历总结DFS模板BFS模板待续...原创 2018-10-13 19:14:02 · 3839 阅读 · 0 评论 -
Java中的栈和队列,ArrayDeque,LinkedList
文章目录栈和队列的定义相关接口和类ArrayDeque实现栈的功能ArrayDeque实现队列的功能LinkedList实现栈的功能LinkedList实现队列的功能Deque中的相关方法栈和队列的定义队列:队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front,也叫队头)进行删除操作,而在表的后端(rear,也叫队尾)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插...原创 2018-12-31 12:01:30 · 1387 阅读 · 0 评论 -
Java中使用优先队列PriorityQueue实现堆
文章目录1. 堆的定义2. 堆的常见操作3. Java中的PriorityQueue3.1 PriorityQueue简介3.2 PriorityQueue常见方法3.3 例子问题代码1. 堆的定义堆通常是一个可以被看做一棵树的数组对象。堆总是满足下列性质:堆中某个节点的值总是不大于或不小于其父节点的值;堆总是一棵完全二叉树。将根节点最大的堆叫做最大堆或大根堆,根节点最小的堆叫做最小堆...原创 2019-01-01 11:51:56 · 618 阅读 · 0 评论