`
ihuashao
  • 浏览: 4724644 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

数据结构中的“查找”(检索)

阅读更多

内查找和外查找:都在内存中查找即内查找,外查找还涉及外存,比如硬盘等。

分类包括:

1、线性表的查找

又分顺序查找、二分查找和分块查找。

1)二分查找又叫折半查找

  • 折半查找要求线性表有序。
  • 有序是指存在某个关键字的序列。
  • 基本思想是拆半。
  • 二分查找可以用二叉树来描述,按照二分查找的思想建立一棵二叉树,此树称为二分查找的“判定树”。
  • 二分查找的最坏性能和平均性能相近。

2)分块查找

线性表分成块,每块内部不要求有序,但块块之间应有序

2、树表查找

1)二叉排序树

  • 左子树非空,则左树上所有节点均小于根。
  • 右子树非空,则右树上的所有节点均大于根。
  • 左右子树分别仍是二叉排序树
  • 二叉排序树中的“中序遍历”是递增序列。
  • 同一序列,构成的二叉排序树可能不同。

2)平衡的二叉排序树

  • 要求二叉排序树的左子树和右子树的高度最多相差1
  • 这个差被成为平衡因子
  • 平衡二叉树避免了顺序查找行为的出现。

3)B树

前面方法都只适用于内查找,B树则适合外查找。

B-树是平衡二叉树的一种。

定义一个m阶的B树

  • 每个节点至多有m个孩子
  • 根节点有两个孩子或者为空
  • 每个节点至少有(m/2的上限)个孩子(除了根和叶)。
  • 叶在同一层,且叶中没有关键信息。
  • 有K个孩子的非叶节点恰好有k-1个关键字。

查找B树时,给定关键字的查找首先从根开始,一定能确定要找的K在Ki和Ki+1之间。在这之间重复寻找,直到成功或者返回指针为空。

文件系统NTFS对目录索引的管理使用B树。

分享到:
评论

相关推荐

    数据结构(查找)习题及答案

    数据结构中的查找技术是计算机科学中的重要概念,用于在数据集合中寻找特定元素。本题主要涉及了多种查找方法,包括顺序查找、折半查找、哈希查找以及B-树和二叉排序树的构建与操作。以下是这些知识点的详细说明: ...

    数据结构-查找算法(代码+报告)

    数据结构中的查找算法是计算机科学领域的一个核心主题,它涵盖了如何高效地在数据集合中定位特定元素的方法。根据所提供的文件信息,本次实验旨在深入理解并实践查找算法,特别是静态查找和动态查找,以及它们在不同...

    数据结构二叉树查找方式

    二叉树是一种基于树的数据结构,它是一种自适应树形结构,能快速查找、插入、删除树中的元素。二叉树查找方式是指在二叉树中查找指定元素的过程。 一、树和二叉树的概念 树是由节点和边组成的非线性集合。每个节点...

    数据结构(栈、队列、二叉树、顺序查找、二分查找、图的遍历等)

    数据结构是计算机科学中的核心概念,它涉及到如何有效地组织和管理数据,以便于高效地进行存储、检索和处理。在本教程中,我们将深入探讨几个关键的数据结构:栈、队列、二叉树、顺序查找、二分查找以及图的遍历。...

    数据结构课程设计 航班检索程序

    数据结构课程设计是计算机科学中一个重要的实践环节,旨在让学生深入理解并应用各种数据结构,如数组、链表、树、图等,来解决实际问题。在这个案例中,"航班检索程序"是一个典型的实例,它涉及到如何高效地存储和...

    广工工业大学数据结构静态查找表ADT(代码及实验报告)

    数据结构是计算机科学中的核心课程,它探讨了如何有效地存储和检索数据。在本主题中,我们将深入讨论“广工工业大学数据结构静态查找表ADT(代码及实验报告)”的相关知识点,这主要涉及到数据结构中的抽象数据类型...

    数据结构课程设计 索引顺序查找

    总的来说,通过这个课程设计,你不仅可以掌握C++编程技能,还能深入理解数据结构中的索引技术及其在查找算法中的应用。这将有助于提升你在未来解决更复杂问题的能力,比如数据库查询优化、大规模数据处理等领域。

    数据结构之查找算法分析

    数据结构中的查找算法是计算机科学中的重要组成部分,它涉及到如何高效地在大量数据中寻找特定信息。查找操作,也就是检索,通常在数据元素的集合,即查找表中进行。查找的效率与查找对象的组织方式和所采用的查找...

    数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。数据结构往往同高效的检索算法和索引技术有关。

    数据结构在计算机科学中扮演着至关重要的角色,它是构建高效软件和系统的基础。这个主题主要关注如何有效地存储和处理数据,以便在各种操作中优化性能。以下是对标题、描述和标签内容的详细展开: 1. **数据结构的...

    数据结构实验报告

    数据结构 查找实验报告 1、在顺序表中查找某个数据,若查找成功输出其位置及查找次数,若查找失败输出失败信息。 2、在有n个元素的有序顺序表上进行二分查找。 (1)建立有n个元素的有序顺序表,数据元素为整型。 ...

    数据结构 查找 c语言版

    本篇主要讨论的是C语言实现的数据结构查找方法,包括静态查找、动态查找以及哈希查找。 首先,查找表是一种由相同类型数据元素构成的集合,常用于查询和检索特定元素。静态查找表是指在查找过程中只进行查询和检索...

    数据结构各种不同方式的查找

    数据结构中的查找技术是计算机科学中的基础概念,它在数据处理和信息检索中扮演着重要角色。查找的主要目的是在一个数据集合中寻找具有特定值的元素。在这个过程中,我们通常会遇到两种查找结果:成功查找(找到目标...

    数据结构文本检索与计数

    文本检索与计数是计算机科学领域中一个基础但重要的任务,尤其在信息处理和数据分析中扮演着关键角色。本文将探讨如何使用C++语言通过Microsoft Visual C++6.0开发环境来实现这一功能,主要涉及以下几个核心知识点:...

    数据结构课程设计 :航班信息的查询与检索

    数据结构 为了实现该系统,我们使用链式基数排序算法对航班号进行排序,然后用二分查找算法高效地检索航班号信息,其他信息的检索功能采用顺序查找算法实现。 数据对象 我们定义了一个抽象数据类型 ADT SInfor,...

    数据结构实用教程之查找

    数据结构是计算机科学中的核心概念,它涉及到如何高效地存储和检索信息。在"数据结构实用教程之查找"中,我们将深入探讨几种重要的查找技术,包括查找表的定义、静态查找表、动态查找表以及哈希查找。这些知识点对于...

    数据结构——二叉查找树(BST)静态查找表.zip

    二叉查找树(Binary Search Tree,BST),也称为二叉排序树,是计算机科学中用于组织数据的一种数据结构。它是一种特殊的二叉树,每个节点包含一个键(key)、一个关联的值、一个指向左子树的引用以及一个指向右子树...

    数据结构实验四实现Fibonacci检索算法

    【数据结构实验四实现Fibonacci检索算法】的实验旨在让学生深入理解和掌握不同的检索方法,特别是Fibonacci检索算法的实现。此实验涉及到的主要知识点包括: 1. **检索方法**:实验要求掌握不同检索方法的实现,这...

    数据结构-检索部分总结

    综上所述,检索是数据结构中一个重要的组成部分,通过对检索技术的理解和应用,可以显著提高数据处理的效率。不同的检索方法适用于不同类型的应用场景,选择合适的检索方法能够有效提升系统的性能。

    数据结构之检索

    ### 数据结构之检索 #### 基本概念 检索是指在一个数据集中查找具有特定属性(如关键码值)的一个或多个记录的过程。在计算机科学中,检索效率是至关重要的,尤其是在处理大规模数据集时更是如此。为了提高检索...

    数据结构几种查找算法

    在IT领域,数据结构与算法是基础且至关重要的部分,其中查找算法是解决信息检索问题的关键技术。本主题将深入探讨几种常见的查找算法,包括二分查找(Binsearch)、二叉搜索树(BSTree)、哈希查找(Hash)以及顺序...

Global site tag (gtag.js) - Google Analytics