静态查找和动态查找
2016-10-17 10:26
218 查看
参考:http://blog.csdn.net/pamchen/article/details/8476134
首先无论是静态查找还是动态查找,都要有查找的对象,也就是包含很多同类型数据的“表”,这个“表”可以理解为一个由同类型数据元素组成的一个“集合”,该集合可以用各种容器来存储,例如数组、链表、树等,我们统称这些存储数据的数据结构为——查找表。可见,查找表有时是我们传统意义的表,有时候是很复杂的一种结构。
(1)查看某特定的关键字是否在表中(判断性查找);
(2)检索某特定关键字数据元素的各种属性(检索性查找)。
这两种操作都只是获取已经存在的一个表中的数据信息,不对表的数据元素和结构进行任何改变,这就是所谓的静态查找。
静态查找包括:
顺序查找
折半查找
Fibonacci
分块查找
详细可以参考:http://blog.csdn.net/wangzi11322/article/details/45456871
(1)首先也有一个“判断性查找”的过程,如果某特定的关键字在表中不存在,则按照一定的规则将其插入表中;
(2)如果已经存在,则可以对其执行删除操作。动态查找的过程虽然只是多了“插入”和“删除”的操作,但是在对具体的表执行这两种操作时,往往并不是那么简单。
动态查找包括:
1. 二叉排序树
2. 平衡二叉树
详细参考:http://blog.csdn.net/wangzi11322/article/details/45456971
首先无论是静态查找还是动态查找,都要有查找的对象,也就是包含很多同类型数据的“表”,这个“表”可以理解为一个由同类型数据元素组成的一个“集合”,该集合可以用各种容器来存储,例如数组、链表、树等,我们统称这些存储数据的数据结构为——查找表。可见,查找表有时是我们传统意义的表,有时候是很复杂的一种结构。
一、静态查找
静态查找就是我们平时概念中的查找,是“真正的查找”。之所以说静态查找是真正的查找,因为在静态查找过程中仅仅是执行“查找”的操作,即:(1)查看某特定的关键字是否在表中(判断性查找);
(2)检索某特定关键字数据元素的各种属性(检索性查找)。
这两种操作都只是获取已经存在的一个表中的数据信息,不对表的数据元素和结构进行任何改变,这就是所谓的静态查找。
静态查找包括:
顺序查找
折半查找
Fibonacci
分块查找
详细可以参考:http://blog.csdn.net/wangzi11322/article/details/45456871
二、动态查找
看到上面静态查找的概念,动态查找就很好理解了,个人总觉得动态查找不像是“查找”,更像是一个对表进行“创建、扩充、修改、删除”的过程。动态查找的过程中对表的操作会多两个动作:(1)首先也有一个“判断性查找”的过程,如果某特定的关键字在表中不存在,则按照一定的规则将其插入表中;
(2)如果已经存在,则可以对其执行删除操作。动态查找的过程虽然只是多了“插入”和“删除”的操作,但是在对具体的表执行这两种操作时,往往并不是那么简单。
动态查找包括:
1. 二叉排序树
2. 平衡二叉树
详细参考:http://blog.csdn.net/wangzi11322/article/details/45456971
相关文章推荐
- 【数据结构作业】实现任意三种静态或动态查找
- 【数据结构作业】实现任意三种静态或动态查找
- 查找方法--从静态表到动态表
- 面试-查找(静态查找,动态查找)
- 数据结构——查找(1)——静态查找、动态查找
- 查找--静态查找与动态查找
- 数据结构——查找(1)——静态查找、动态查找
- 静态查找与动态查找结构
- 动态映射和静态映射
- 用静态KML脚本在GoogleEarth上实现动态效果
- Oracle Listener 动态注册 与 静态注册
- Oracle Listener 动态注册 与 静态注册
- 动态代理和静态代理的比较
- Xcode 6制作动态及静态Framework
- java静态代理和动态代理
- 什么是动态语言和静态语言?
- 三种静态查找的思路及具体实现
- [置顶] 代理模式--静态代理VS动态代理
- 在asp中实现由动态网页转变为静态网页
- C++中关于[]静态数组和new分配的动态数组的区别分析