静态查找和动态查找的有什么区别?
静态查找和动态查找的主要区别在于它们对查找表的操作:
1. 静态查找:在静态查找过程中,只执行“查找”的操作,包括判断性查找(查看特定关键字是否在表中)和检索性查找(检索特定关键字数据元素的各种属性)。这两种操作都只是获取已经存在的表中的数据信息,不对表的数据元素和结构进行任何改变。常见的静态查找方法有顺序查找、二分法查找、索引顺序查找(分块查找)和斐波那契查找等。
2. 动态查找:动态查找过程中,除了判断性查找和检索性查找操作外,还会对表进行“创建、扩充、修改、删除”的过程。当某特定关键字在表中不存在时,按照一定规则将其插入表中;如果已经存在,则可以对其执行删除操作。常见的动态查找方法有各种树(如二叉搜索树、AVL树、B/B+树、红黑树等)和哈希表。
总之,静态查找主要关注查找操作,而动态查找在查找的同时还涉及表的创建、扩充、修改和删除操作。
