浙江大学MOOC 数据结构-陈越、何钦铭
文章平均质量分 56
努力掉发中¥¥
这个作者很懒,什么都没留下…
展开
-
2021-11-02
排序 【内部排序】 冒泡排序 实现简单,适用于链表,可以添加flag标记,最好O(n),最坏O(n^2) 稳定 直接插入排序 最好O(n),最坏O(n^2) 稳定 插入排序与冒泡排序 T(N,I)=O(N+I),其中I为逆序对个数 定理:任意N个不同元素平均逆序对个数是N(N-1)/4 启发:每次交换消除多个逆序对(跳着交换)==》希尔排序 希尔排序 原始增量 D=【N/2】(向下取整) 平均时间复杂度O(N^2) 增量需要互质! 算法简单,复杂度分析极其困难 不稳定 堆排序 选择排序进化版(原创 2021-11-02 18:04:22 · 110 阅读 · 0 评论 -
二叉搜索树
针对经常要做增删的数据,用数组实现的静态查找效率不高,每次增删都要挪动大量元素,下面介绍适合动态查找的数据结构——二叉搜索树。 二叉搜索树的定义 二叉搜索树具有如下特点: 非空左子树的所有键值小于其根节点的键值; 非空右子树的所有键值大于其根节点的键值; 左、右子树都是二叉搜索树。 typedef struct TreeNode *BinTree; typedef BinTree Position; struct TreeNode{ ElementType Data; BinTree Left;原创 2021-04-12 17:42:08 · 184 阅读 · 0 评论