考点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 用...