3

看完就彻底懂了红黑树!红黑树的插入、删除、左旋、右旋

二叉查找树由于红黑树本质上就是一棵二叉查找树,所以在了解红黑树之前,咱们先来看下二叉查找树。二叉查找树(Binary Search Tree),也称有序二叉树(ordered binary tree),排序二叉树(sorted binary tree),是指一棵空树或者具有下列性质的二叉树:若任意结点的左子树不空,则左子树上所有结点的值均小于它的根结点的值;若任意结点的右子树不空,则右子树上所有结点的值均大于它的根结点的值;任意结点的左、右子树也分别为二叉查找树。没有键值相等的结点(no duplicate nodes)。因为,一棵由n个结点,随机构造的二叉查找树的高度为lgn,所以顺理成章,...

阅读全文>>

0

掌握了这些核心算法,才能说自己是程序员

一、算法最最基础 1、时间复杂度 2、空间复杂度 一般最先接触的就是时间复杂度和空间复杂度的学习了,这两个概念以及如何计算,是必须学的,也是必须最先学的,主要有最大复杂度、平均复杂度等,直接通过博客搜索学习即可。 二、基础数据结构 1、线性表 列表(必学) 链表(必学) 跳跃表(知道原理,应用,最后自己实现一遍) 并查集(建议结合刷题学习) 不用说,链表、列表必须,不过重点是链表。 2、栈与队列 栈(必学) ...

阅读全文>>

0

排序算法——归并排序

什么是归并排序?   归并排序简单来讲,就是将两个有序的序列整合到一起。 如何将两个有序的序列整合到一起呢?   那么我们假设,现在有 M={m1 ,m2,m3,....,mx}序列和 N = {n1,n2,n3,....,ny}序列,这两个序列已经是有序的序列,首先创建一个空序列 K = {},那么接着将 m1 和 n1 进行比较,加入 m1 < n1 那么将 m1 放入 ...

阅读全文>>