
数据结构与算法
陈九礼
老来多健忘,唯不忘相思
展开
-
顺序表的插入、删除、更新、查找要怎么实现?
这里就不展示静态的数组了,直接从可扩展的数组开始 如何创建一个线性表原创 2020-06-30 15:22:15 · 553 阅读 · 0 评论 -
到底什么是线性表?
线性表的定义 线性表是具有「相同数据类型」的n(n≥0)个数据元素的「有限序列」,其中n为元素的个数,当n = 0时,线性表为空 假设线性表名为L,则一般表示为 L= {a1,a2,a3,…,aj,a(j + 1),…,an} 线性表的几个概念 aj是线性表的 “第 j 个” 属性,是线性表中的「位序」 a1是「表头」元素(线性表的第一个元素),an是「表尾」元素(线性表的最后一个元素) 除第一个元素外,每个元素都有且只有一个「前驱」元素 除最后一个元素外,每个元素有且只有一个「后继」元素 线性表的操原创 2020-06-27 23:24:03 · 1455 阅读 · 0 评论 -
影响空间复杂度的因素
影响空间复杂度的因素大概有: 指令 常数 变量 输入的数据 对数据进行操作的工作单元 存储一些为实现计算机所需信息的辅助空间原创 2020-06-18 18:21:04 · 2077 阅读 · 0 评论 -
什么是算法及其复杂度
算法:是对特定问题求解步骤的一种描述,它是指令的有限序列,其中每一条指定表示一个或多个操作 算法的5个特性 有穷性:一个算法必须总是(对任何合法的输入值)在执行有穷步之后结束,且每一步都在有穷时间内完成 有穷时间指的是在你接收的时间范围内完成 确定性:算法中每一条指令必须有确切的含义,让人不会产生二义性;并且,在任何条件下,算法只有唯一的一条执行路径,即对于相同的输入只能得到出相同的输出 可行性:一个算法是能行的,即算法中描述的操作都是可以通过已经实现的基本运算执行有限次来实现 输入:一原创 2020-06-18 18:15:44 · 413 阅读 · 0 评论 -
时间复杂度-严蔚敏老师
什么是时间复杂度? 代码执行时间随数据规模增长的变化趋势,前面这句话可能有点难以理解,其实时间复杂度可以理解为,代码执行的次数 时间复杂度用什么来表示? 用大O表示法来表示时间复杂度 大O表示法: T(n) = O(f(n)) T(n):表示代码执行的时间 f(n):表示每行代码执行次数的总和 n:表示数据规模的大小 时间复杂度分析: 关注循环次数最多的一段代码 加法法则:总复杂度等于量级最大的那段代码的复杂度 乘法法则:嵌套代码的复杂度等于嵌套内外代码复杂度的乘积 时间复杂度用大O表示法来表示的话原创 2020-06-18 17:58:56 · 326 阅读 · 0 评论 -
数据结构的一些基本术语概念-严蔚敏老师
数据:是对客观事物的符号表示,在计算机科学中是指所有能输入到计算机中,并被计算机程序处理的符号的总称 数据元素:是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理(一个数据元素可由若干个数据项组成) 数据元素之间的关系在计算机中有两种不同的表示方式 顺序映像 非顺序映像 由表示方式得到两种不同的存储结构 顺序存储结构 在计算机内存中,存储的数据的内存地址,是要连续的,所以是顺序存储结构 例如:数组的实现 链式存储结构 在计算机内存中,存储的数据的内存地址,不需要连续,只要记得原创 2020-06-18 14:43:56 · 798 阅读 · 0 评论