程序员数据结构与算法

数据结构基础知识

2020-08-21  本文已影响0人  _karen

程序(Program)=数据结构(Data Structure)+算法(Algorithm)

数学基础

1. 指数

image.png
2. 对数
image.png
3. 级数
级数是指将数列的项依次用加号连接起来的函数。我们使用∑(希腊语:Sigma,汉语:西格玛)符号进行表示,如 5.png
级数理论是分析学的一个分支;它与另一个分支微积分学一起作为基础知识和工具出现在其余各分支中。二者共同以极限为基本工具,分别从离散与连续两个方面,结合起来研究分析学的对象,即变量之间的依赖关系──函数。
image.png
4. Π运算
Π(希腊语:pi,汉语:派)运算与∑符号的运算法则类似,由∑的加法变成了乘法,其代表“求乘积”,如 7.png

四大逻辑结构(Logic Structure)

1) 集合结构
集合结构(Set Structure)中所有数据元素除了同属于一个集合外,并无其他关系。

51.png
2) 线性结构
线性结构(Linear Structure)指的是数据元素之间存在“一对一的关系”
52.png
3) 树形结构
树形结构(Tree Structure)指的是数据元素之间存在“一对多”的层次关系。
53.png
4) 图形结构
图形结构(Graphic Structure,也称:网状结构)指的是数据元素之间存在“多对多的关系”(注:此时的“多对多”中的多表示,至少有一个)
54.png

复杂度

1.时间复杂度

2.空间复杂度
一个程序的空间复杂度是指运行完一个程序所需内存的大小,其包括两个部分。
a)固定部分。这部分空间的大小与输入/输出的数据的个数多少、数值无关。主要包括指令空间(即代码空间)、数据空间(常量、简单变量)等所占的空间。这部分属于静态空间。
b)可变空间,这部分空间的主要包括动态分配的空间,以及递归栈所需的空间等。这部分的空间大小与算法有关。

内存

image.png

(地址的常用表示为十六进制表示法,即Ox+十六进制数)
由这个图可以清晰的发现对于每一段的内存中的数据,都有一个地址与之相对应,也真是因为有地址的存在,我们计算机中才可以轻易的去访问到其中数据。

以上知识均来自于https://www.dotcpp.com/course/ds/的整理

上一篇 下一篇

猜你喜欢

热点阅读