
Windows C++
文章平均质量分 76
HardessGod
程序虐我千百遍,我待程序入初恋
展开
-
C语言 双链表 插入/删除/查找/遍历/递归/合并/排序
双向链表也叫双链表,是链表的一种,它的每个数据结点中都有两个指针,分别指向直接后继和直接前驱。所以,从双向链表中的任意一个结点开始,都可以很方便地访问它的前驱结点和后继结点。一般我们都构造双向循环链表。1 双链表数据结构1.1 新增节点图解1.2 删除一个节点图解2 双链表操作 双链表和单链表在操作主要区别在于插入和删除,双链表需要修改...原创 2018-12-12 18:29:46 · 2503 阅读 · 0 评论 -
C语言 AVL平衡二叉查找树 插入/删除/遍历/查找
AVl树:平衡二叉查找树,树中任何节点的两个子树的高度最大差别为1。如下图所示AVL树的查找、插入和删除在平均和最坏情况下都是O(logn)。如果在AVL树中插入或删除节点后,使得高度之差大于1。此时,AVL树的平衡状态就被破坏,它就不再是一棵二叉树;为了让它重新维持在一个平衡状态,就需要对其进行旋转处理。1. AVL树的结构 typedef struct AVLTreeN...原创 2018-12-13 17:32:20 · 1585 阅读 · 2 评论 -
C语言 红黑树插入/删除/查找/遍历
1 红黑树介绍红黑树(Red-Black Tree,简称R-B Tree),它一种特殊的二叉查找树。红黑树是特殊的二叉查找树,意味着它满足二叉查找树的特征:任意一个节点所包含的键值,大于等于左孩子的键值,小于等于右孩子的键值。除了具备该特性之外,红黑树还包括许多额外的信息。红黑树的每个节点上都有存储位表示节点的颜色,颜色是红(Red)或黑(Black)。红黑树的特性:(1) 每个节...原创 2018-12-14 18:31:04 · 5604 阅读 · 0 评论