携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第3天,[点击查看活动详情]
大家好从今天开始,小小宇宙便要开始他的数据结构之路了,文章之初呢想送给自己也送给大家四个字“厚积薄发”,愿几年之后你可以兴致盎然的走在充满鲜花的道路上,路遇坎坷,从容不迫。
什么是数据结构
用一句话描述 程序设计 = 数据结构 + 算法,数据结构研究的是数据元素之间存在的一种或多种关系的集合。
结构
(这里主要分为逻辑结构和物理结构)
逻辑结构
集合结构,线性结构,树形结构,图形结构
集合结构:集合中元素属于同一个集合
线性结构:数据元素之间一对一
树形结构:数据元素之间一对多
图形结构:数据元素之间多对多的关系
物理结构
将数据元素存储在存储器中,存储形式:顺序存储和连续存储
顺序存储
顺序存储意思是将数据元素存放在地址连续的存储单元中,简单来说就是类似于数组结构的存储
链式存储
即就是将数据元素存放在任意存储单元,存储单元可连续也可不连续 (这部分简单记录理解,后续会详细说明)
这部分我打算数据结构和算法同时进行,因为这两者密不可分,所以下面简单写一下算法的基础部分
什么是算法
引言
用个题来带入计算从1加到100?
算法
用一句话来概述就是解决问题的技巧与方式
算法特性
- 一个问题可以用多种算法解决
- 五个基本特征:输入,输出,有穷性,确定性,可行性
那么上面的问题我同样有多种方法,我们在下面列举两种
方法一:int i,sum=0,n=100; for(i=1;i<=n;i++) { sum=sum+1; } printf("%d",sum)方法二:
int i,sum=0,n=100; sum=(1+n)*n/2; printf("%d",sum);
到这里,小小宇宙的今日分享就结束了,在下先行告辞,bye~ bye