排序与查找
来源:互联网 发布:如何进入淘宝vip商场 编辑:程序博客网 时间:2024/05/16 03:12
查找分为:1、静态表查找 2、 动态表的查找
静态表的查找有 1) 顺序表的查找 2)有序表的查找 3)索引表的查找
顺序表的查找就是 按照顺序一个一个的与关键字进行比较 平均查找长度 1+2+3+......n
有序表的查找:二分查找 平均查找长度的计算 利用二叉判定树
索引表的查找:表分成b块,每块s个元素 提取每块最大的元素建立索引 索引是有序的 标明最大元素在表中的位置
平均查找长度:索引查找长度+块内元素查找长度 索引的查找采用顺序表或者二分查找 块内元素用顺序表的查找
-------------------------------------------------------------------------------------
动态表的查找:
1) 二叉排序树:
小的在左边,大的在右边 不唯一 根据给定的关键字序列确定 与二分查找过程类似
2)平衡二叉树 :
每个节点的平衡因子 为 0、-1、1 深度为h的平衡二叉树至少有Nh-1 +Nh-2 +1 个节点
一般我们建立二叉排序树的时候都期望建立为AVL树 所以在建立过程中需要动态调整。
----------------------------------------------------------------------------------------------------------------
排序:内部排序
1、插入排序:
直接插入排序:是稳定的,空间复杂度o(1)
折半插入排序:稳定的
希尔排序:不稳定
2、交换排序:
冒泡排序:稳定 快速排序:不稳定
3、选择排序:
简单选择排序 不稳定 堆排序:大根堆 小根堆 先建立堆 然后输出堆顶元素再调整 用最后的元素去替代堆顶元素 从n/2元素开始往前调整。不稳定
4、2路归并 稳定 5、基数排序 稳定
- 查找与排序代码
- 二分法查找与排序
- 排序与查找
- 快速排序与查找
- 查找与排序
- CC_11_排序与查找
- 查找与排序小结
- 数据结构:查找与排序
- Java--排序与查找
- 排序与查找
- 查找与排序
- Java排序与查找
- 数组排序与查找
- 排序与查找
- 数组排序与查找
- 排序与查找
- 排序与查找
- 排序与查找
- PHP和Nginx的交互方式
- C++入门经典 笔记 (第十一章)开发高级指针
- Hexo博客网站再配置
- UVALive 5103 / HDU 3695 Computer Virus on Planet Pandora(AC自动机裸)
- Next Permutation
- 排序与查找
- HDU 4730 We Love MOE Girls(签到题 string char)
- wstring 未定义的标识符,include <string>
- js跨域问题
- Android SDK不能在线更新的解决方案
- 阅兵
- 使用Ajax加载数据的dataTables
- jpa复合主键的使用
- hdoj 4686 Arc of Dream 【矩阵快速幂】