数据结构与算法
十安辰
北邮本科在读
展开
-
数据结构 - 线性表-下(四) - 十安辰
静态链表 对于有指针的语言而言,实现链表的思想如上一篇文章所讲。但是有些语言,比如早期的Basic、Fortran、Python等编程语言,由于没有指针,链表的结构按照前一片笔记所说的就没办法实现了,咋办呢?当然有办法!有人想用数组来代替指针,具体思路如下:首先我们让数组的元素都是由两个数据城组成,data 和cur也就是说,数组的每个下标都对应一个data 和一个cur。数据域data,用来存放数据元素,也就是通常我们要处理的数据,而游标cur相当于单链表中的next指针,存放该元素的后继在数组中的下标.原创 2020-07-09 20:37:27 · 149 阅读 · 0 评论 -
数据结构 - 线性表-中(三) - 十安辰
数据结构 - 线性表-中(三) 上一篇中, 我们复习了顺序结构的线性表的基本操作,接下来,将会介绍单链表——线性表的链式存储结构在顺序结构中,每个数据元素只需要存储自身的信息就可以,在链表中,除了要存储数据元素信息外,还要存储它的后继元素地址。 链表的节点 可以看到,链表中每个数据的存储都由以下两部分组成: 数据元素本身,其所在的区域称为数据域; 指向直接后继元素的指针,所在的区域称为指针域; 即链表中存储各数据元素的结构如图所示:节点结构 上图所示的结构在链表中称为节点。也就是说,链表实际存储的是一原创 2020-07-09 10:02:41 · 163 阅读 · 0 评论 -
数据结构 - 线性表-上 (二) - 十安辰
数据结构 - 线性表-上 (二) 定义: 零个或者多个数据元素的有限序列 基本概念 前驱和后继 数据结构中,一组数据中的每个个体被称为“数据元素”(简称“元素”)。对于具有“一对一”逻辑关系的数据,线性表中有准确的术语: 某一元素的左侧相邻元素称为“直接前驱”,位于此元素左侧的所有元素都统称为“前驱元素”; 某一元素的右侧相邻元素称为“直接后继”,位于此元素右侧的所有元素都统称为“后继元素”; 以图 1 数据中的元素 3 来说,它的直接前驱是 2 ,此元素的前驱元素有 2 个,分别是 1 和 2;原创 2020-07-08 20:44:37 · 188 阅读 · 0 评论 -
时间复杂度和空间复杂度复习 (一)
直接上结论 算法是解决特定问题求解步骤的描述,在计算机中表现为指令的有限序列,并且每条指令表示一个或多个操作 算法的特性: 输入输出(输入>=0个,输出>=1个);有穷性;确定性;可行性 算法的设计要求: 正确性、可读性、健壮性 算法的效率度量: 事后统计、事前估算算法的时间复杂度定义: 进行算法分析时,语句总的执行次数T(n)是关于问题规模n的函数,进而分析T(n)随n的变化情况并确定T(n)的数量级,算法的时间复杂度,也就是算法的时间量度,计作T(n)=O(f(n))T(n)=O(f(n).原创 2020-07-08 16:47:20 · 195 阅读 · 0 评论