文档介绍:课程学习总结
班级
学号
姓名
考核成绩
一、学习内容总结(按章节进行)
第一章:数据结构和算法
本章主要是对数据、数据类型、数据结构、算法及算法分析等基本概念的掌握,而如何合理地组 织数据、高效地处理数据正是”性质相吻合,所以可用栈来存放逐次求得的余数,然后输出。(2)、括 号匹配问题;当读取一个表达式时,一旦读到括号就进栈,而读到下一个括号时就与栈中括号比较,若 相匹配,则出栈,否则继续读取表达式。到最后,如果栈为空栈,则说明括号匹配,否则括号不匹配。 第五章:队列及其应用
首先和栈一样,要知道队列是一种受限制的线性结构,遵守“先进先出”的规则,其插入在队尾、 删除在对头。
其次根据顺序存储和链式存储,队列也分为顺序队列和链队列。其中顺序队列是用地址连续的向量 空间依次存储队列中的元素,同时记录当前对头元及队尾元素在向量中的位置。值得注意的是在顺序循 环队列中存在“假溢出”的现象,即当rear=maxlen-l时,认为队满。但随着对头元素的不断出对,data 数组会出现空单元,此时不一定是真的队满。同时队满的条件为:Q->front==(Q->rear+1)%maxlen,对空 条件为:Q->front==Q->rear。然后是链队列,即在存储器中占用任意的、连续或不连续的物理存储区域, 使用动态结点空间分配;在这其中,值得注意的是链队列不存在队满的情况。
第六章:特殊矩阵、广义表及其应用
首先是关于矩阵的概念即存储方法;
1、 二维数组中元素aij的地址为:(1)、以行序为主存储,Loc (a )=Loc (a )+[j* (m+1)+i]*d
j 00
(2)、以列序为主存储,Loc (a )=Loc (a )+[i* (n+1)+j]*d,其中m为行数、n为列数、d为每个 j 00
元素所占的存储单元的个数。
2、 对称矩阵:即将下三角存储在一个一维数组sa[k]中,其中0<k<(n+1)/2;当曰时,k=i*(i+1)/2+j, 当 ivj 时,k=j*(j+1)/2+i
3、 三角矩阵:和对称矩阵的存储思路一样用一维数组sa[k]存储,若是上三角矩阵(下三角中元素 均为常数c),则当曰时,k=i*(i+1)/2+j,当ivj时,k=n*(n+1)/2;若是下三角矩阵(上三角中元素均 为常数c),则当i<j时,k=i* (2n-i+1) /2+j-i,当i>j时,k=n*(n+1)/2
4、 对角矩阵:同样存储在一维数组sa[k]中,k=2i+j
5、 稀疏矩阵:即矩阵中非零元素个数远远小于矩阵元素个数,可用三元组表存储,将非零元素的 值与其行号、列号存放在一起。
其次是关于广义表的概念;广义表是n(n>0)个元素a、a、a、…、a的有限序列,而ai或是原
1 2 3 n
子或是一个广义表,所以广义表是递归定义。
第七章:二叉树及其应用
首先关于二叉树的概念及其性质;二叉树是由n (n>0)个结点组成的有限集合,其中:(1)、当n=0 时,为空树(2)、当n>0时,有且仅有一个特定的结点,成为二叉树的根。在这其中有两种特殊的二叉 树,满二叉树和完全二叉树。满二叉树是满足如下条件的二叉树:(1)、任一非叶子结点均有两个孩子
(2)、对于二叉树的任一层,若该层上有一个结点有孩子