
算法与数据结构 — C语言描述
cherry-peng
生命在于放弃,而不在于追求。
展开
-
链表 - C语言实现(一)
1 链表 由于cherry不太擅长C,故本系列文章中难免会有C语言的语法错误,但cherry会尽力把算法的思路写清楚啦! //typedef 作用:给类型起别名 typedef struct ListNode *PtrToNode; typedef PtrToNode Position;//起别名为:Position typedef PtrToNode List;//起别名为:Li...原创 2018-08-05 17:26:18 · 543 阅读 · 0 评论 -
AVL树 - C语言实现(五)
1 AVL树 在二叉查找树中,为了防止某节点处出现左、右儿子树深度不平衡的情况,从而引出带有平衡条件的二叉查找树(AVL树)。 回顾树结构基本知识: 对任意的节点n,n的深度为:从根到节点n的唯一路径的长。n的高度为:从n到一片树叶的最长路径的长。 AVL树的平衡条件:每个节点的左子树和右子树的高度最多差1。 2 单旋、双旋 2.1 单旋 在插入一个节点后,只有那些从插入点到...原创 2018-08-27 15:37:20 · 397 阅读 · 0 评论 -
二叉查找树 - C语言实现(四)
1 MakeEmpty例程 typedef struct TreeNode *Position; typedef struct TreeNode *SearchTree; struct TreeNode{ ElementType Element; SearchTree Left;//左儿子树 SearchTree Right;//右儿子树 } SearchTr...原创 2018-08-21 15:57:01 · 295 阅读 · 0 评论