开发工具与关键技术:
作者:#33
撰写时间:撰写时间:2020年04月28日
关于数据结构与算法的入门学习
算法+数据结构=程序
数据结构的概述:
数据结构:数据结构是计算机储存、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元的集合。
系统生命周期:需求、分析、设计、编码、验证。
对于数据、数据对象、数据元素、数据项的理解:
举例说明:如下两张表,表一球员表,表二球队排名表,
、两张表就是数据的概念(程序的操作对象,用于描述客观事物,1、可以输入电脑,2、可以被计算机处理)
、其中表就可以表示为数据对象(性质相同的元素集合)
、表中的行可表示为数据元素(组成数据的基本单位)
、表中的列(姓名、身高、体重....)可以表示为数据项(一个数据元素由若干个数据项组成)
表一:
球员姓名 | 年龄 | 身高/cm | 体重/kg |
德文.韦德 | 38 | 193 | 99.8 |
勒布朗.詹姆斯 | 36 | 206 | 113.4 |
詹姆斯.哈登 | 31 | 196 | 99.8 |
表二:
球队名称 | 胜场 | 负场 | 胜率 |
雄鹿 | 53 | 12 | 81.5% |
猛龙 | 46 | 18 | 71.9% |
凯尔特人 | 43 | 21 | 67.2% |
//一种数据类型
//数据元素 struct hoopster str; //数据对象 struct hoopsterstu[100]; //数据项
|
数据元素之间不是独立的存在特定的关系,这些关系即结构。
数据结构指数据对象中数据元素之间的关系。
数据元素之间的逻辑结构:
集合结构 :数据元素之间没有特别的关系,仅同属相同集合
线性结构 :数据元素之间是一对一的关系
树形结构 :数据元素之间存在一对多的层次关系
图形结构 :数据元素之间是多对多的关系
数据元素的 物理存储结构:
物理结构: 逻辑结构在计算机中的存储形式。
顺序存储结构: 将数据存储在地址连续的存储单元里。
链式存储结构:将数据存储在任意的存储单元里,通过保存地址的方式找到相关联的数据元素。
算法的定义:
算法是特定问题求解步骤的描述
在计算机中表现为指令的有限序列
算法是独立语言而存在的一种解决问题的方法和思想。
对于算法而言,语言并不重要,重要的是思想。
但是,对于程序开发而言,语言非常重要。
算法的特性:
输入: 算法具有0个或多个输入
输出: 算法至少有1个或多个输出
有穷性:算法在有限的步骤之后会自动结束而不会无限循环
确定性:算法中的每一步都有确定的含义,不会出现二义性
可行性:算法的每一步都是可行的
算法设计的准则:
正确性:算法对于合法数据必须能够得到满足要求的结果。算法必须能够处理非法输入,并得到合理的结果。
算法尽量对于边界数据和压力数据都能得到满足要求的结果,但是几乎不能完全达到这点,极端的情况无法满足。
注意: 正确性是算法最需要满足的基本的准则,但是作为计算机程序,不可能无限制的满足这条准则。
可读性:算法要方便阅读,理解和交流
健壮性:算法不应该产生莫名其妙的结果
高性价比:利用最少的时间和资源得到满足要求的结果