1.数据结构与算法的认识

88 阅读2分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 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