Learning Data Structure_1_数据结构绪论和算法

今天回到了杭电,在戴荣学弟的帮助下暂住他的寝室,解决了基本的生活问题,可以多点时间精力开始学习阅读刘志老师给的暑假要求掌握的书籍和知识了。

首先是数据结构,手头上主要是两本教材,一本是严蔚敏等主编的《数据结构(c语言版)》,另一本是程杰编的《大话数据结构》,前者经典严谨,后者通俗有趣,应该是不错的选择。以下是简要的学习内容和笔记。

数据结构绪论

1.数据结构是一门研究非数值计算的程序设计问题中的操作对象,以及它们之间的关系和操作等相关问题的学科。

2.掌握以下概念和术语:数据、数据对象、数据元素、数据项、数据结构(相互之间存在一种或多种特定关系的数据元素的集合)

3.数据结构分为逻辑结构和物理结构。

逻辑结构:集合、线性、树形、图形;

物理结构:顺序存储结构和链式存储结构

4.抽象数据类型:定义一个数据对象、数据对象中各数据元素之间的关系及对数据元素的操作。

算法

   1.算法定义

2.特性:输入输出、有穷性、确定性和可行性。

3.要求:正确性、可读性、健壮性(当输入数据不合法时,能做出相关处理,而不会出现异常或者莫名其妙的输出robust)、时间效率和存储量。

4.算法效率的度量:事后统计、事前分析估算(时间复杂度常数阶、线性、对数、平方阶等;空间复杂度)

Learning Data Structure_1_数据结构绪论和算法

时间: 2024-10-12 14:53:38

Learning Data Structure_1_数据结构绪论和算法的相关文章

《大话数据结构》笔记(1)--数据结构绪论,算法

第一章 数据结构绪论 基本概念和术语 数据 数据是描述客观事物的符号,是计算机中可以操作的对象,是能被计算机识别,并输入给计算机处理的符号集合. 换言之,数据就是符号,而且具备两个前提: 1. 可以输入到计算机中 2. 能被计算机程序处理 数据元素 数据元素是组成数据的.有一定意义的基本单位,在计算机中通常作为整体处理.也被称为记录. 数据项 一个数据元素可以由若干个数据项组成. 数据项是数据不可分割的最小单位. 数据对象 数据对象是性质相同的数据元素的集合,是数据的子集. 数据结构 数据结构是

大话数据结构 绪论及算法

程序设计 = 数据结构 + 算法 数据:是描述客观事物的符号,是计算机中可以操作的对象,是能被计算机识别,并输入给计算机处理的符号集合. 数据元素:是组成数据的.有一定意义的基本单位,在计算机中通常作为整体处理.也被称为记录. 数据项:一个数据元素可以由若干个数据项组成.数据项是数据不可分割的最小单位. 数据对象:是性质相同的数据元素的集合,是数据的子集. 数据结构:是相互之间存在一种或多种特定关系的数据元素的集合. 逻辑结构:是指数据对象中数据元素之间的相互关系. 1)集合结构:集合结构中的数

大话数据结构之一(绪论、算法)

数据结构绪论 数据结构是相互之间存在一种或多种特定关系的数据元素的集合 程序设计=数据结构+算法 数据结构事实上就是一门研究非数值计算的程序设计问题的操作对象,以及它们之间的关系和操作等相关问题的学科. 数据是描述客观事件的符号,是计算机中可以操作的对象,是能被计算机识别,并输入能计算机处理的符号集合,也就是说数据必须具备两个前提: 可以输入到计算机中 能被计算机程序处理 数据 数据元素是组成数据的.有一定意义的基本单位,在计算机中通常作为整体处理,也被称为记录 数据项:一个数据元素可以由若干个

Learning Data Structure_4_树(2)和图(1)

今天杂事较多,学习时间比较分散,所以效率不是很高,看的内容也较少,总体来看,这四天把数据结构的内容看了过半,还剩图.查找和排序三章,争取接下来三天内把数据结构的内容结束掉.下面是今天的学习内容. 树(tree) 1.前序遍历算法:与二叉树的定义一样采用递归形式. 2.中序和后序遍历与前序类似用递归实现:前.中.后是指单次递归算法中访问根节点的顺序 3.已知(前+中)or(后+中)序遍历序列可以唯一确定一颗二叉树:单已知 前+后 则不能. 4.扩展二叉树:将每个结点的空孩子指针引出一个虚结点:扩展

Learning Data Structure_3_串和树(1)

今天找兼职继续碰壁中,吃过中饭接着蹲图书馆看数据结构,呵呵,被KMP算法虐了一下午,恨啊,当初上数据结构选修课的时候怎么没好好听呢.下面是今天的学习笔记. 串(string) 1.定义:是由0个或多个字符组成的有限序列,即字符串. 2.串的比较通过字符的编码大小来实现,有ASCII码(7位和8位二进制).Unicode码(16位):字符串的相等. 3.串不是线性表,因为串针对的是字符集,注重子串的查找替换等,线性表针对单个元素的操作. 4.串也分顺序存储结构和链式存储结构 5.朴素的模式匹配算法

Learning Data Structure_2_线性表、栈和队列

一个人在学校的日子有些寂寞,但是st说男人要耐得住寂寞,做学问也是如此吧.今天看了线性表.栈和队列的内容.以下是学习记录. 线性表(list) 1.定义:0个或多个数据元素的有限序列,元素有且只有一个直接后继和一个直接前驱:基本操作ListLength.GetElem.LocateElem.ListInsert等,并集Union的实现. 2.线性表的顺序存储结构 指用一段地址连续的存储单元依次存储数据元素(c语言中用数组实现改结构):数组长度>=线性表的长度:对于任意位置的存入或取出的所需时间相

Learning Data Structure_7_排序

浑沦吞枣的过了一遍数据结构,今天把最后一章排序的内容结束.大概实现了一个星期看完的想法,当然不是为了求速度,这一次看主要是把各种数据结构做到心中有数,概念清晰,了解各自有哪些经典的算法和算法思路原理.以后若要用到特定的结构和算法再去算法导论中详细研读.下面是今天的学习笔记. 排序(ranking) 1.排序可看成是对线性表的操作:多个关键字排序可转化成单个关键字排序:排序的稳定和不稳定:主要讲内排序,其排序算法主要受3方面影响:时间性能,辅助空间,算法复杂性. 2.按复杂度分:简单算法(冒泡排序

01.数据结构概念与算法基础

数据结构概念与算法基础 一.数据结构概念 1.数据:是描述客观事务的符号,是计算机中可以操作的对象,是能被计算机识别,并输入给计算机处理的符号集合.数据不仅仅包括整型.实型等数值类型,还包括字符及声音.图像.视频等非数值类型. 2.数据元素:是组成数据的.有一定意义的基本单位,在计算机中通常作为整体处理,也被成为记录.比如畜类中,牛.马.羊都属于数据元素. 3.数据项:一个数据元素可以由若干个数据项组成,数据项是数据不可分割的最小单位.比如人这样的数据元素,可以有眼.耳.鼻等数据项. 4.数据对

Learning Data Structure_5_图(2)

天气越来越热,看书还得静得下心啊,今天继续图这一章,概念和算法众多,第一遍看以广度优先的形式为主,以后若要用到具体的算法再去翻"算法导论"吧.下面是学习内容和笔记. 图(graph) 1.图的存储结构 邻接矩阵:顶点数组 + 边数组(二元):无向图的边数组为对称矩阵,有向图非对称(行的元素和表顶点的出度和,列对应入度和):网图的边数组中元素由布尔型变为权值. 邻接表:顶点表(data+firstedge) + 边表(adjvex+next):有向图的边表分出边表和入边表:带权的网图,在