算法:
流程=算法
算法1:(1+100)*50=101 *50–>高斯算法
有评价这个算法的具体的指标–>时间复杂度,空间复杂度(从数学角度考虑)
数据结构:如何组织管理数据的结构,按照某种规则结构来组织管理我们的数据
数据结构分为:
以线性表为例:
线性表逻辑结构表述图:
线性表的特点:
线性表是n个数据类型相同的数据元素的有限序列,通常记作:a,ai-1,ai,ai+1
线性表中可以有n个相同属性的元素,比如可以都是数字,可以都是字符,相同类型意味着每一个元素占用相同的内存空间。
ai-1,ai,ai+1为例子,ai的前一位是ai-1,ai的后一位是ai+1,一般ai0为表头,除了表头和表尾元素外,任何一个元素有且仅有一个直接前驱和一个直接后继
线性表中的数据元素定义为n,n是个有限值,当n=0的时候就是线性表为空,在非空的线性表中每个数据元素都有唯一确定的序号,下标
线性表逻辑,对应真实的如果是紧密结构,典型:数组;
线性表逻辑结构,对应的真实结构如果是跳转结构,典型为链表
在存储数据的时候选择相邻的位置存储,
以int数组为例,int 4位,下图所示:
优点:
寻址快–>查找元素快
缺点:
删除和增加元素效率低
以链表为例
单向链表:
每一个元素的位置除了存放自己的数据还要存放寻找下一个元素的地址
双向链表:
每个元素除了存放自己的数据,还存放了上一个元素的地址和下一个元素的地址
循环链表:
就是首元素和尾元素互相指向,首尾相连
跳转结构:
优点:删除元素,插入元素效率高,
缺点:查询元素效率地。为什么?
应为我如果像查找一个元素我要从上一个寻找,如果多的话,十分麻烦,数组寻址找是直接寻找,效率十分之快
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://blog.csdn.net/doomwatcher/article/details/121563178
内容来源于网络,如有侵权,请联系作者删除!