数据结构-查找-总结归纳知识点

//第八章 查找
 
//基于线性表的查找

// 1.顺序查找法
//思想:所给的关键字和表中元素的关键字逐个比较
分为:设置监视哨和不设监视哨
监视哨:r[0]防止越界

//2.折半查找法
要求:顺序储存结构(不能链表),按照关键字大小有序排列(正序和逆序)
思想:利用mid=(high+low)/2(整数). 判断条件:low<=high;

//3.分块查找法
要求:列表分为子表,最后一个子表长度可以不满;索引表每个索引对应每个块(子表)的起始位置,记录每个块的最大(最小)
的关键字;索引表按照关键字有序排列


//基于树的查找法

//二叉排序树:元素大小:左子树,根,右子树,递归定义
二叉排序树的删除略显复杂:
1.不存在,不动
2.存在
2.1.叶子节点:直接删,free掉
2.2只有左右子树一支:孩子改到删去位置(孩子变为双亲),free
2.3.左右孩子都有:
2.3.1处理1:
    利用中序遍历算法找到将要删除结点p的直接前驱s,p左子树变为其双亲的左孩子,右子树变为其前驱s的右孩子 
2.3.2处理2: 
    直接删除结点p,p的前驱s代替p,free(s),s的左孩子为s的双亲的右孩子,p的右孩子为s的右孩子
    
//平衡二叉排序树:左子树右子树高度绝对值之差小于等于1
插入算法:LL,RR,LR,RL型

//计算式查找法:hash

//hash:
1.数字分析法:选择合适位数的分布均匀的关键字 
2.平方取中法:求关键字平方值,取中间,重复概率低 
3.分段叠加法:折叠法,移位法
4.除留余数法:取余除数为小于等于表长的最大素数 
5.伪随机数法:
    
处理冲突!:
1.开放地址法(再散列法):
1.1.线性探测再散列:di = 1,2,3......
1.2.二次探测再散列:di = 1^2, -1^2, 2^2, -2^2,...... 
1.3.伪随机探测再散列: ...

2.再哈希法
3.链地址法:
4.建立公共溢出区:分为基本表和溢出表

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/311543.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

噪声与振动控制工程手册_声学分享客噪声与振动控制篇大型隔振工程案例介绍...

第一期《声学分享客--噪声与振动控制篇》将于今日上午10&#xff1a;00~11&#xff1a;00&#xff0c;在线直播&#xff0c;欢迎各位上线交流。主讲人&#xff1a;苏宏兵报告内容&#xff1a;大型隔振工程案例介绍报告人介绍&#xff1a;苏宏兵&#xff0c;工学硕士&#xff0c…

微软推出全新的Windows 10系统图标

微软已开始通过 Fast Ring 向 Insider 用户推出新的 Windows 10 系统图标&#xff0c;这些新图标基于 Fluent 设计。更改从邮件和日历等程序开始&#xff0c;微软将陆续推出更多彩色图标。这些图标将在接下来的几个月中通过 Microsoft Store 的应用更新和 Windows 10 的发布预览…

python123读取文本文件并排序输出_Python按字段对文本文件排序

按某个字段对文本文件中的数据进行排序时遇到问题。以后可能会有多个字段。txt是数千行代码。我是python新手&#xff0c;所以我的代码可能有点混乱。例如&#xff0c;这是我将从中读取的文本文件&#xff1a;stuff123 1200 id-aaaa stuarttest.com322 1812 id-wwww machine-sw…

.NET Core开发实战(第9课:命令行配置提供程序)--学习笔记

09 | 命令行配置提供程序&#xff1a;最简单快捷的配置注入方法这一节讲解如何使用命令行参数来作为配置数据源命令行配置&#xff08;提供程序的&#xff09;支持三种格式的命令1、无前缀的 keyvalue 模式2、双中横线模式 --keyvalue 或 --key value3、正横杠模式 /keyvalue 或…

数据结构-第九章 内部排序-知识点总结1

第九章 内部排序 排序:重点在于对于记录的关键字进行排序,得到按关键字有序记录序列 分为: A.内部排序: 排序过程在内存中进行 B.外部排序: 待排序记录数据量过大,需要借助外部存储设备 排序的稳定性:排序后有相同关键字的记录顺序不变就是稳定的排序 插入类排序: 1…

python文本替换 数据库_在Python中使用ASCII文件中的注释查找/替换子...

在我正在研究的生物信息学项目中,我遇到了一些编码问题.基本上,我的任务是从数据库中提取基序序列并使用该信息来注释序列比对文件.对齐文件是纯文本,因此注释不会是任何复杂的,最好只是用对齐文件本身中的星号替换提取的序列.我有一个脚本扫描数据库文件,提取我需要的所有序列…

gRPC in ASP.NET Core 3.x - gRPC 消息定义

之前写了几篇关于 Protoco Buffer 的文章。gRPC in ASP.NET Core 3.x - gRPC 简介&#xff08;1&#xff09;gRPC in ASP.NET Core 3.x - gRPC 简介&#xff08;2&#xff09;当gRPC使用Protocol Buffer作为传输协议的时候&#xff0c;Protocol Buffer里所有的规则仍然都适用。…

哈希表创建哈希表(Hash Table,也叫散列表),是根据键(Key)而直接访问在内存存储位置的数据结构.typedef enum{ HASH_OK-icoding-数据结构-C

哈希表创建 typedef enum{HASH_OK,HASH_ERROR,HASH_ADDED,HASH_REPLACED_VALUE,HASH_ALREADY_ADDED,HASH_DELETED,HASH_NOT_FOUND, } HASH_RESULT; typedef struct __HashEntry HashEntry; struct __HashEntry{union{char *str_value;double dbl_value;int int_value;}…

10个用于C#.NET开发的基本调试工具

在调试软件时&#xff0c;工具非常重要。获取正确的工具&#xff0c;然后再调试时提取正确的信息。根据获取的正确的错误信息&#xff0c;可以找到问题的根源所在。找到问题根源所在&#xff0c;你就能够解决该错误了。你将看到我认为最基本的解决在C# .NET 中错误问题的工具的…

python面向对象语言_Python语言基础之——面向对象编程

1.类属性1)类属性&#xff1a;直接定义在类中的变量是类属性类属性的值不会因为对象不同而不一样2)对象属性通过 self.属性名 值 定义在init函数中的属性对象属性的值会因为对象不同而不一样2.对象属性的增删改查1.查对象.属性 - 获取对象中指定属性对应的值,属性不存在会报错…

[蓝桥杯2015初赛]移动距离

题目描述 X星球居民小区的楼房全是一样的&#xff0c;并且按矩阵样式排列。 其楼房的编号为1,2,3… 当排满一行时&#xff0c;从下一行相邻的楼往反方向排号。 比如&#xff1a;当小区排号宽度为6时&#xff0c;开始情形如下&#xff1a; 1 2 3 4 5 6 12 11 10 9 8 7 13 14 15 …

数据结构-第九章 内部排序-知识点总结2

选择类排序: 1.简单选择排序: 直接从数组中选择最小的记录和第一个记录交换位置,循环. 示例代码如下: void SelectSort(int r[], int b){int i, j, k;int x;for(i 1; i < n; i){k i;for(j i1; j < n; j){if(r[j] < r[k])//选择最小的记录,得到在数组中的位置 k…

给微软的依赖注入框架写一些扩展方法

给微软的依赖注入框架写一些扩展方法Intro现在在项目里大多都是直接使用微软的依赖注入框架&#xff0c;而微软的注入方式比较简单&#xff0c;不如 AutoFac 使用起来灵活&#xff0c;于是想给微软的依赖注入增加一些扩展&#xff0c;使得可以像AutoFac 一样比较灵活的注册服务…

邻接表1试在邻接表存储结构上实现图的基本操作 insert_vertex 和 insert_arc,相关定义如下:icoding---算法改进--配详细注释

邻接表1 试在邻接表存储结构上实现图的基本操作 insert_vertex 和 insert_arc&#xff0c;相关定义如下&#xff1a; typedef int VertexType; typedef enum{DG, UDG }GraphType; typedef struct ArcNode{int adjvex;InfoPtr *info;struct ArcNode *nextarc; }ArcNode; typede…

最长公共子序列-dp

一个字符串的 子序列 是指这样一个新的字符串&#xff1a;它是由原字符串在不改变字符的相对顺序的情况下删除某些字符&#xff08;也可以不删除任何字符&#xff09;后组成的新字符串。 例如&#xff0c;“ace” 是 “abcde” 的子序列&#xff0c;但 “aec” 不是 “abcde” …

初中信息技术python教案_初中信息技术优质课教案 python程序设计开发第二课 第5课变量 教案...

环节教学过程知识点导学过程学习过程课前准备1.分成4组&#xff0c;选出组长&#xff0c;奖励规则&#xff1b;2.打开Python程序&#xff1b;3.快捷键的使用&#xff1a;CtrlN新建CtrlS保存CtrlC复制CtrlV粘贴F5运行熟悉快捷键创设情境观看动画&#xff1a;《鸡兔同笼》&#x…

哈希表添加哈希表(Hash Table,也叫散列表),是根据键(Key)而直接访问在内存存储位置的数据结构。typedef enum{ HASH_OK, -icoding

哈希表添加 哈希表&#xff08;Hash Table&#xff0c;也叫散列表&#xff09;&#xff0c;是根据键&#xff08;Key&#xff09;而直接访问在内存存储位置的数据结构。也就是说&#xff0c;它通过计算一个关于键值的函数&#xff0c;将所需查询的数据映射到表中一个位置来访问…