数据结构与算法

发布 2021-05-02 16:49:28 阅读 5721

考点11算法:指解题方案准确而完整的描述。

算法不等于程序,也不等于计算方法。

通常,程序的编制不可能优于算法的设计。

考点2算法的四个特征。

可行性。确定性。

有穷性:算法必须在有限的时间内做完,即算法必须能在执行有限个步骤之后终止。

拥有足够的情报。

算法的基础要素:对数据的基础运算和操作、算法的控制结构。

算法设计的基本方法:列举法、归纳法、递推法、递归法、减半递推法、回溯法。

考点三:算法的时间复杂度和空间复杂度。

时间复杂度:指执行算法所需要的计算工作量。指执行算法所需要的计算工作量。与算法执行的基本次数(是问题规模的函数)和问题的规模有关。

空间复杂度:指在执行过程中,所需要的存储空间。(算法程序所占的空间、输入的初始数据所占的存储空间、某种数据结构所需要的附加存储空间)

数据结构是反映数据元素之间关系的数据元素集合。

数据结构研究的三个方面1、数据的逻辑结构a、线性结构线性表栈队列b、非线性结构树形结构图形结构2、数据的存储结构(物理结构)顺序存储链式存储3、数据的运算:

数据的逻辑结构:是反映数据元素之间逻辑关系的数据结构。

一个数据的逻辑结构可以表示成:

b=(d,r)

b表示数据结构。

d表示数据元素的集合。

r表示数据元素之间的前后关系。

例1:一年四季的数据结构可表示成。b=d=

r=例2:家庭成员数据结构可表示成。

b=(d、r)

d=r={(父亲、儿子),(父亲、女儿)

数据的存储结构(物理结构):数据的逻辑结构在计算机存储空间中的存放形式。不仅要存放各数据元素的信息,还存放元素之间的前后件关系的信息。

数据的逻辑结构与数据的存储结构不一定相同。一般来说,一种数据的逻辑结构需要表示成多种存储结构。常用的存储结构有顺序、链接、索引等。

采用不同的存储结构,其数据处理的效果是不相同的。

顺序存储结构特点:所以元素所占的存储空间是连续的。各数据元素在存储空间中按逻辑顺序依次存放。

栈:是先定在一端进行插入和删除的线性表。原则是先进后出(或后进先去)。栈具有记忆功能。

栈底指针:bottom

栈顶指针:top

队列:允许在一端进行插入,另一端进行删除的线性表。先进先出(后进后出)

尾指标:rear

排头指标:front

查找技术:顺序查找:最坏情况下需比较n次。

二分法查找:最坏情况下需比较log2n次。

排序技术。

数据结构与算法

本章知识要点 算法的基本概念 数据结构的定义 线性表的定义和存储 树 二叉树的定义和存储 查找与排序算法。算法 algorithm 是一组有穷的规则,规定了解决某一特定类型问题的一系列运算,是对解题方 与完整的描述。算法是解题的步骤,可以把算法定义成解一确定类问题的任意一种特殊的方法。在计算机科学中...

算法与数据结构

学院专业姓名学号。实验1 线性表的操作 12学时 问题描述 假设一个班级内有n个学生,定义一个学生类和一个班级类。学生类中包括学号 姓名 性别 年龄 专业等属性 班级类包括一个学生对象链表。定义如下 class student class myclass student stu head 链表表头指...

算法与数据结构

1 简述算法的概念及其五个重要特性。2 下图是用邻接表存储的图,请画出此图,写出其邻接矩阵以及从c点开始分别按广度优先搜索和深度优先搜索遍历该图的结果。给定一棵用二叉链表表示的二叉树,其根指针为root,编写求此二叉树叶结点个数的算法,要求先写出二叉链表的类型定义。2.编写简单选择排序的算法。1 用...