09 2020 档案
摘要:1. 图的定义 定义 图(Graph)是由顶点的有穷非空集合和顶点之间边的集合组成,通常表示为:G(V,E) G 表示一个图,V 是图 G 中顶点的集合,E 是图 G 中边的集合 线性表中我们把数据元素叫元素,树中将数据元素叫结点,在图中数据元素,我们则称之为顶点(Vertex) 在图结构中,不允许
阅读全文
摘要:1. 树的定义 定义 树(Tree)是 n(n>=0)个结点的有限集。n=0 时称为空树 在任意一颗非空树中: (1)有且仅有一个特定的称为根(root)的结点; (2)当 n>1 时,其余结点可分为 m(m>0)个互不相交的有限集 T1、T2、······、Tm,其中每一集合本身又是一棵树,并且称
阅读全文
摘要:1. 串的定义 串(string)是由零个或多个字符组成的有限序列,又叫字符串 一般记为 s = "a1a2······an"(n>=0) 串中的字符数目 n 称为串的长度 零个字符的串称为空串(null string) 空格串:只包含空格的串,有内容有长度 子串:串中任意个数的连续字符组成的子序列
阅读全文
摘要:1. 栈的定义 栈(stack):是限定仅在表尾进行插入和删除操作的线性表 栈顶(top)允许插入和删除的一端称为栈顶;另一端称为栈底(bottom) 空栈:不包含任何数据元素的栈 栈又被称为后进先出(Last In First Out)的线性表,简称 LIFO 结构 栈的插入操作,叫做进栈,也称压
阅读全文
摘要:1. 线性表的定义 线性表(List):零个或多个数据元素的有限序列 线性表元素的个数 n(n>=0)定义为线性表的长度,当 n=0 时,称为空表 在较复杂的线性表中,一个数据元素可以由若干个数据项组成 2.线性表的抽象数据类型 ADT 线性表(List) Data 线性表的数据对象集合为{a1,a
阅读全文
摘要:1. 定义 算法是解决特定问题求解步骤的描述,在计算机中表现为指令的有限序列,并且每条指令表示一个或多个操作 2. 五个基本特性 输入和输出 算法具有零个或多个输入 算法至少有一个或多个输出 有穷性 指算法在执行有限的步骤后,自动结束而不会出现循环,并且每一个步骤在可接受的时间内完成 实际应用中合理
阅读全文
摘要:1. 起源 具体问题中,抽象出适当的数据模型,设计对应解的算法,再编写程序,得到实际的软件 数据结构是研究非数值计算的程序设计问题中的操作对象,以及它们之间的关系和操作 程序设计 = 数据结构 + 算法 2. 基本概念和术语 数据 描述客观事物的符号,计算机中可操作的对象 数值类型:整型,实型等 非
阅读全文
摘要:插入排序原理 从第二个元素开始和前面的元素进行比较,如果前面的元素比当前元素大,则将前面元素 后移,当前元素依次往前,直到找到比它小或等于它的元素插入在其后面。 然后选择第三个元素,重复上述操作,直到最后一个元素。 插入排序特点 时间复杂度:插入排序同样需要两次循坏一个一个比较,故时间复杂度也为O(
阅读全文
摘要:https://www.runoob.com/python/python-built-in-functions.html filter(function, iterable) 作用:用于过滤序列,过滤掉不符合条件的元素。 参数:接收两个参数,第一个为函数,第二个为序列。 function -- 判断
阅读全文
摘要:冒泡排序原理 首先,第一个数和第二个数比较,若第一个比第二个大,则交换位置,然后比较第二个和第三个,重复往后比较; 然后,经过第一轮比较后最大的元素排到了最后; 最后,剩下的元素重复上述步骤即可 冒泡排序特点 1.稳定性:我们从代码中可以看出只有前一个元素大于后一个元素才可能交换位置,所以相同元素的
阅读全文
摘要:相关概念 堆是一种完全二叉树,即按从上到下,从左到右生成的二叉树。 堆有两种类型: 大根堆,小根堆。 大根堆:每个结点的值都大于或等于左右孩子结点。 小根堆:每个结点的值都小于或等于左右孩子结点。 计算某个节点的父节点和两个子节点 如上图,选取3这个节点,他的序号:i = 3 父节点:parent
阅读全文
摘要:排序思想 第一步:在数列中随意选取一个数,做为基准值; 第二步:数组中剩下的数与基准值依次比较,小于基准值的数放左边,大于基准值的数放右边; 第三步:左右两边的数重复第一第二步,直至排序完成 排序特点 1.稳定性:快排是一种不稳定排序,比如基准值的前后都存在与基准值相同的元素,那么相同值就会被放在一
阅读全文

浙公网安备 33010602011771号