当前课程知识点:数据结构(下) > 第十二章 排序 > (b1)选取:众数 > 12b1-1: 选取 + 中位数
同学们好在接下来的这一节
我们将讨论由排序问题
衍生和推广而来的一类问题
也就是所谓的选取问题Selection
这类问题的共同特点是
需要从一组大小可以相互比较的元素中
找到某一个特殊的元素
比如找到其中由小而大
列于特定次序位置上的一个元素
或者找出其中在数值大小上
恰巧列于中间的那个元素
当然只要我们已经得到了
整个数据集所对应的排序序列
以上问题自然都可以迎刃而解
然而正因为排序计算自身的高复杂度
我们在此不得不绕开它
并转而寻找更为有效的算法
而在接下来的这一小节
就让我们首先来讨论如何选取众数
如果我们需要从一组大小可比较的元素中
选举出次序列在DK位置
我们就称对应的选择问题为
K-selection
比如在包括Excell在内的
各种数据分析软件中
往往就会提供这样的命令甚至函数
这类功使得我们可以在
尚未对所有元素进行全排序之前
找出其中按大小次序
列在第K位置
K选择问题中的一个特例
就是所谓的中位数median的问题
也就是说要从一组元素中
找出按大小恰好列于中间位置的
那个元素
在Excell等数据分析工具中
同样也提供了对应的功能或函数
具体来说如果所有元素的秩
隐式的可以由0到n减1来表示
那么所谓的中位数
也就是其中秩为
二分之N下整的那个元素
比如在秩为零到6的七个元素中
所谓的中位数
也就是其中秩为三的那个元素
除了它自身
在它的左和右侧各有三个元素
又如在0到7
这样八个元素中
中位数的秩应该为4
也就是说在它的左侧有四个元素
但在它的右侧却只有三个元素
我们稍后就会看到中位数问题
虽然是K选择问题的一个特例
但实际上也是其中难度最大的一类问题
-选课之前
--写在选课之前
--宣传片
-考核方式
--考核方式
-OJ系统说明
--关于OJ
--1-注册与登录
--2-界面与选课
--3-提交测试
-关于课程教材与讲义
--课程教材与讲义
-关于讨论区
--关于讨论区
-微信平台
--html
-PA晋级申请
--PA晋级
-(a)概述
--07A-1 纵览
--07A-5 接口
-(a)概述--作业
-(b1)BST:查找
-第七章 二叉搜索树--(b1)BST:查找
-(b2)BST:插入
-(b2)BST:插入--作业
-(b3)BST:删除
-第七章 二叉搜索树--(b3)BST:删除
-(c)平衡与等价
-(c)平衡与等价--作业
-(d1)AVL树:重平衡
-第七章 二叉搜索树--(d1)AVL树:重平衡
-(d2)AVL树:插入
-(d2)AVL树:插入--作业
-(d3)AVL树:删除
-(d3)AVL树:删除--作业
-(d4)AVL树:(3+4)-重构
-(d4)AVL树:(3+4)-重构--作业
-本章测验
--章节测验
-(a1)伸展树:逐层伸展
--习题
-(a2)伸展树:双层伸展
--习题
-(a3)伸展树:算法实现
--习题
-(b1)B-树:动机
--习题
-(b2)B-树:结构
--习题
-(b3)B-树:查找
--习题
-(b4)B-树: 插入
--习题
-(b5)B-树: 删除
--习题
-(xa1)红黑树:动机
--习题
-(xa2)红黑树:结构
--习题
-(xa3)红黑树:插入
--习题
-(xa4)红黑树:删除
-本章测验
--习题
-(b)散列:原理
--09B-3 数组
--09B-4 原理
--09B-5 散列
--09B-6 冲突
--习题
-(c)散列:散列函数
--习题
-(d1)散列:排解冲突(1)
--习题
-(d2)散列:排解冲突(2)
--习题
-(e)桶/计数排序
--习题
-本章测验
--本章测试
-(a1)需求与动机
--习题
-(a2)基本实现
--习题
-(b1)完全二叉堆:结构
--习题
-(b2)完全二叉堆:插入与上滤
--习题
-(b3)完全二叉堆:删除与下滤
--习题
-(b4)完全二叉堆:批量建堆
--习题
-(c)堆排序
--习题
-(xa1)左式堆:结构
--习题
-(xa2)左式堆:合并
--习题
-(xa3)左式堆:插入与删除
-本章测验
--本章测试
-(a)ADT
--习题
-(b1)串匹配
--习题
-(b2)蛮力匹配
--习题
-(c1)KMP算法:从记忆力到预知力
--习题
-(c2)KMP算法:查询表
--习题
-(c3)KMP算法:理解next[]表
--习题
-(c4)KMP算法:构造next[]表
--习题
-(c5)KMP算法:分摊分析
--习题
-(c6)KMP算法:再改进
-(d1)BM_BC算法:以终为始
-(d2)BM_BC算法:坏字符
-(d3)BM_BC算法:构造bc[]
-(d4)BM_BC算法:性能分析
-(e1)BM_GS算法:好后缀
-(e2)BM_GS算法:构造gs表
-(e3)BM_GS算法:综合性能
-(f1)Karp-Rabin算法:串即是数
-(f2)Karp-Rabin算法:散列
-本章测验
--本章测试
-(a1)快速排序:算法A
-- 12a1-5: 实例
--习题
-(a2)快速排序:性能分析
--习题
-(a4)快速排序:变种
-(b1)选取:众数
-(b3)选取:通用算法
--习题
-(c1) 希尔排序:Shell序列
--习题
-(c2)希尔排序:逆序对
-本章测验
--本章测试