# 第七章 函数基础 ## 一、函数定义 ### 1、为什么python需要使用函数? - 如果你不使用函数,将会出现:代码冗余,复杂度增大,组织结构不够清晰,可读性差,可扩展性差等等,这些缺点却是函数的优点之处。 - 函数是带名字的代码块,用于完成具体的任务,要执行函数定义的特定任务,可调用该函数 ...
分类:
其他好文 时间:
2020-06-28 12:55:05
阅读次数:
65
思维导图 算法小结 1.顺序查找 ①基础方法 1 int Search(SSTable ST, KeyType key) 2 { 3 for(i=1;i<=ST.length;i++) 4 { 5 if(key==ST.R[i].key) return i; 6 } 7 return 0;//若未查 ...
分类:
其他好文 时间:
2020-06-28 12:34:09
阅读次数:
72
1、心得体会:在第七章的学习当中,主要是对查找这一操作的深入学习,主要操作对象为线性表、树表和散列表。 查找,主要有顺序查找、折半查找、分块查找。 一、线性表查找 11、 顺序查找方法既适用于线性表的顺序存储结构,又适用千线性表的链式存储结构。 在顺序查找中,有一个很有技巧的设置,在对当前位置的关键 ...
分类:
其他好文 时间:
2020-06-28 12:30:13
阅读次数:
76
二、 (1)装填因子:将M个元素存入用长度为S的数组表示的散列表,装填因子即为M/S。 (2)召回率(Recall Rate,也叫查全率)是检索出的相关文档数和文档库中所有的相关文档数的比率,衡量的是检索系统的查全率;精度是检索出的相关文档数与检索出的文档总数的比率,衡量的是检索系统的查准率。 (关 ...
分类:
其他好文 时间:
2020-06-28 00:17:23
阅读次数:
67
一、思维导图 二、重要知识点 1.线性表的查找 1.1顺序查找 设置监视哨的顺序查找算法: int Search_Seq(SSTable ST,KeyType key) { ST.R[0].key = key; for(i = ST.length;ST.R[i].key != key:--i); r ...
分类:
其他好文 时间:
2020-06-28 00:13:18
阅读次数:
76
一.知识要点 若在查找的同时对表做修改操作(如插入和删除),则相应的表称之为动态查找表。 平均查找长度 设置监视哨的顺序查找 ST.R[O] .key=key; for(i=ST.length;ST.R[i] .key!=key;--i); return i;//在顺序表ST 中顺序查找其关键字等于 ...
分类:
其他好文 时间:
2020-06-27 22:48:38
阅读次数:
64
一、思维导图: 二、需要留意的点 链式结构可以进行二分查找,但是不能在对数时间内完成,因为要对数字下标进行随机访问,实际都得遍历一遍,需要O(n) 二分查找应用场景的局限性: (1)基于顺序表的存储结构; (2)针对有序数据; (3)数据量小且比较操作不耗时时 (4)数据量不能太大(需要连续的内存空 ...
分类:
其他好文 时间:
2020-06-27 20:12:59
阅读次数:
66
一、第七章内容小结 1. 查找的基本概念 2. 线性表的查找 ① 顺序查找:从表的一端开始依次将记录的关键字和给定值进行比较,某记录的关键字和定值相等则查找成功;反之,扫描整个表未找到相等记录,则查找失败。顺序查找适用于线性表的顺序存储结构和链式存储结构。 2-1基于顺序表的顺序查找算法: 1 in ...
分类:
其他好文 时间:
2020-06-27 16:03:50
阅读次数:
78
顺序查找 监视哨的顺序查找 因为每次循环都需要对是否越界,即是否小于n做判断。事实上,还可以有更好一点的办法,设置一个哨兵,可以解决不需要每次让i与n作比较。 折半查找(二分查找) 二分查找(又称为折半查找)是在有序序列中查找比较多的查找算法,基本思路:设有一个从小到大的序列,取中间的元素m进行比较 ...
分类:
其他好文 时间:
2020-06-27 09:20:15
阅读次数:
58
本章主要学习了查找的相关知识。关于查找,有以下几种基本概念: (1)查找表。按照数据类型可分为数组和链表;按照具体存储逻辑又可分为顺序表、哈希表等等。 (2)关键字。作为待查找的元素,在查找表中进行检索。 (3)动态查找。若表中没有所查的关键字,则将关键字按照原表的规律添加在表中,形成一个含有关键字 ...
分类:
其他好文 时间:
2020-06-27 00:32:29
阅读次数:
67