当前位置:首页 > 嵌入式培训 > 嵌入式学习 > 学习笔记 > 嵌入式学习笔记:数据结构与算法知识点总结

嵌入式学习笔记:数据结构与算法知识点总结 时间:2018-09-11      来源:未知

下面是我在课堂上总结的数据结构与运算的知识点,不懂的快看看

一、数据结构:研究数据(数据元素)之间的关系。(C研究数值型数据之间的简单运算, 数据结构 还研究非数值型之间的运算)

1.逻辑结构(关系):集合、线性关系、树形关系、图状关系(线性和非线性关系)

2.物理结构(物理关系):逻辑结构在计算机内存中具体实现的方法,有顺序、链式、 索引、散列等存储方法

3.数据运算:对数据进行的操作,增、删、查、改、排序。

数据即信息的载体。

数据元素是数据的基本单位(又称记录,Record),由若干个基本项(or字段、域属性)组成

数据类型是对数据元素取值范围与运算的限定

相关术语概念:

数据Date 数据类型Date Type 数据元素Date Element

数据结构Date Structure 物理结构(存储结构)Physical Structure

顺序存储Sequential Storage 链式存储Linked Storage

索引存储Indexed Storage 散列存储Hash Storage

形式化语言描述(数学表达式):

DS=(D,R)D数据元素的集合,R D上关系的集合

根据数据元素间的关系的基本特性有四种基本数据结构:

集合——数据元素间除“同属于一个集合”外,无其他关系

线性结构——一个对一个,如线性表、栈、队列

树形结构——一个对多个,如树

图状结构——多个对多个,如图(图是树的拓展,可有树构成)

算法Algorithm一个又穷规则(or语句、指令)的有序集合(对程序的优化,易阅读、调试、维护)

特性:有穷性、确定性、可行性、输入(0-n)、输出(1-n)

程序 = 算法 + 数据结构

算法与程序的区别:

1. 算法与计算机无关,程序依赖于具体的计算机语言

2. 算法重点是在解决问题的思路上

算法分析(好坏):时间复杂度T(n) 空间复杂度D(n)(不考虑,牺牲来成全时间)Time/Space Complexity

语句的频度:可执行语句程序中重复执行的次数。某语句执行一次耗时t,执行次数f,则该语句总耗时t*f。

量级T(n)=O(n3) 取次数最高的项并去掉系数,作为时间复杂度 。

↑上午 概念

↓下午 线性表 的逻辑和存储结构、相关算法的实现以及线性表的应用举例。

线性表Linear List

首先创建表,再插入表,再增删改查,销毁。

创建:申请一个结构体

结构体声明写在头文件里面

用gedit编辑.h和.c文件

方便的查找,在挨着表的末尾空间在申请一个空间用来存放表的有效个数or最后一个元素下标。

创建表 :...待写

插入数据:1.首先判断表是否为满。2.判断插入的位置是否有效。3.从后往上移动数据元素。 4.插入元素。5.尾指针last+1

删除数据:1.首先判断表是否为空。2.判断删除的位置是否有效。3.删除后从前往后移动元 素。4.尾指针last-1。5移动后,之前的最后一个数据,直接忽视不用了,但是 还在。

上一篇:嵌入式学习笔记:shell常用命令,这些都知道吗

下一篇:嵌入式学习笔记:linux入门基础,比较全面

热点文章推荐
华清学员就业榜单
高薪学员经验分享
热点新闻推荐
前台专线:010-82525158 企业培训洽谈专线:010-82525379 院校合作洽谈专线:010-82525379 Copyright © 2004-2022 北京华清远见科技集团有限公司 版权所有 ,京ICP备16055225号-5京公海网安备11010802025203号

回到顶部