![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构与算法
文章平均质量分 57
Ellis_hym
这个作者很懒,什么都没留下…
展开
-
红黑树(未完待续)
二叉查找树特点 若任意结点的左子树不空,则左子树上所有结点的值均小于它的根结点的值; 若任意结点的右子树不空,则右子树上所有结点的值均大于它的根结点的值; 任意结点的左、右子树也分别为二叉查找树。 没有键值相等的结点(no duplicate nodes)。 红黑树它在二叉查找树的基础上增加了着色和相关的性质使得红黑树相对平衡,从而保证了红黑树的查找、插入、删除的时间复杂度最坏为O(log n)。1原创 2016-11-28 22:03:51 · 448 阅读 · 0 评论 -
20分钟回顾基础排序与二分查找
来来,复习基础的数据结构吧~~知乎上有人讲,如果只是应付面试,重要程度: 数据结构:二叉树>散列表>栈>队列>堆>一般树>图>其他 算法:二分法>冒泡>快速排序>加密算法>其他排序算法>随机数的算法>其他下面需要20分钟就能 浏览完,最最基础的:基本排序与二分查找~~排序#插入排序 def insertion_sort(nums): for i in range(1,len(nums))原创 2017-03-02 14:00:15 · 358 阅读 · 0 评论 -
二叉树回顾
遍历:前序遍历: 节点-左-右使用一个栈来实现,非递归:class Solution(object): def preorderTraversal(self, root): """ :type root: TreeNode :rtype: List[int] """ if not root:return []原创 2017-03-05 15:10:09 · 288 阅读 · 0 评论 -
快速排序-总结与改进
之前的几次面试都有问到快速排序,我的写法都是按照算法导论上随便写写的:一:基本快速排序:(参照算法导论)#快速排序 def quicksort(nums,p,r): if p<r: q=partition(nums,p,r) quicksort(nums,p,q-1) quicksort(nums,q+1,r) returndef pa原创 2017-03-23 12:04:22 · 404 阅读 · 0 评论