第三章内容小结

1.内容小结:在第三章的学习中我们学习到了两种特殊的线性表:栈和队列。

     (1)特殊性:栈:限定仅在表尾(栈顶)进行插入或者删除的线性表,后进先出。

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

     (2)存储方式:顺序存储(顺序栈;循环队列)和链式存储(链栈;链队)。

     (3)主要操作:

        栈:入栈和出栈。对于顺序栈的入栈和出栈操作前要判断栈满或栈空。

        队列:入队和出队。对于顺序队的循环队列进队和出队操作要判断队满或队空。涉及队头或队尾指针的修改都要将其对MAXQSIZE求模。

2.心得体会:

     做作业时,因为对栈的操作的实现算法不太熟悉所以进度很慢并且总是出错,并且对于算法的构思不够完善,漏洞很多,老师上课时讲的思路没有及时记下笔记,导致做作业时也遇到很多困难,后来重新复习课本和课件后对于自己的代码进行修改,虽然仍有一些错误不知如何改进,但整体有了些许进步。

3.资料分享:其实我主要用的资料就是课本和老师的课件,以及在中国大学慕课APP上报名参加的网课,并且通过笔记整理,算法收集和模仿会有一定成效。

4.目标没有完全达到,但是相较于上次写博客时有了进步,并且发现了一些适合自己的学习方法。希望能够更加完善自己的学习计划、学习方法,巩固基础。

5.目标:上课还要认真听讲,课前要做好预习,并且还要提前完成作业和实践,不能拖到ddl前再做。保持做笔记的习惯,整理笔记,提高效率复习,多敲代码,多实践多思考。

原文地址:https://www.cnblogs.com/DreamGCdog/p/10623130.html

时间: 2024-10-11 09:00:09

第三章内容小结的相关文章

第三章学习小结—-转

[学习目标] 01掌握一维数组的声明和使用方法(OK) 02掌握二维数组的声明和使用方法(OK) 03掌握字符串的声明.赋值.比较和连接方法(连接很少用) 04熟悉字符的ASCII码和ctype.h中的字符函数 05正确认识++.+=等能修改变量的运算符(OK) 06学会用编译选项-Wall获得更多的警告信息(OK) 07了解不同操作系统中换行符的表示方法(嗯) 08掌握fgetc和getchar的使用方法(fgetc基本没用过) 09掌握预处理和迭代开发的技巧(嗯) 程序3-1 逆序输出 输入

ch3第三章的小结——杨智雯

第四周c++学习情况. 学习情况:周一在实验室上了第三章的输入输出流,上课状态良好,老师讲的都明白了.周三老师讲解了师兄给我解释过的数组问题,但是还是不是很懂,了解了直接用c1之类的字符型直接加减数字来使输出发生变化,并学习了如何使字符型变量变成表格中的数字号码. 遇到的困难:可是ch3中的编程作业统计和保留小数的问题,老师应该是没有讲到的,我并不会啊!!/(ㄒoㄒ)/~~咨询了师兄,可是按照师兄的解法还是输出不了啊!!!实验二的内容经过老师的讲解基本上都解决了问题,再acm培训课程中也了解了具

第四章内容小结

1.串的学习: 1)对串的操作有在串中查找某个子串,求取一个子串,在串的某个位置插入一个子串,删除一个子串等: 2)串的存储结构分为串的顺序存储.串的链式存储:若多用插入及删除操作则使用链式存储更方便: 3)串的模式匹配算法分为BF算法和KMP算法,BF算法的匹配过程易于理解,但是该算法在最好情况下的平均时间复杂度为O(n+m),最坏情况下的平均时间复杂度为O(nxm),算法的时间复杂度较高.KMP算法较为复杂一点,但它可在O(m+n)的时间数量级上完成串的模式匹配操作,KMP算法最大的特点是指

第三章学习小结

第三章主要学习了关于栈和队列的知识,知道了有关栈和队列的初始化和基本操作.栈是只在一头进行插入与删除操作的数据结构,而队列是可以在两头进行插入与删除操作的数据结构.此外栈和队列分别可以分为链栈与顺序栈,链队与顺序队列.栈的特点是先进后出,队列的特点是先进先出. 在这里分享有关栈的函数: #include <stack> //头文件 stack <elemtype> L //定义栈 push():L.push(x) 将数据x放在栈顶 top():L.top()返回栈顶元素 pop()

第二章内容小结

本章以线性表的定义和特点为切入点,对顺序表和链表的初始化,取值,查找,插入,删除等相关操作进行详细的介绍.对线性表顺序存储和链式存储的相对于各种操作的效率.优缺点以及时间复杂度进行了详细的比较.而顺序表一般可用数组进行表示,若要进行随机查找操作用顺序表更好,若有大量的插入删除操作则选择可用指针表示的链表进行存储更好.在这章我们也明白了元素在顺序表和链表中的存储方式. 最开始在本章学习中我比较多的是懂得了具体的存储方式和结构,编程能力却仍比较弱,懂得如何进行却总打出错误代码,后来就是要反复地看数据

第五章内容小结

在第五章,我们学习了树这个数据结构,并且学习了其定义.遍历等操作,最后还学习了哈夫曼树. 一.树的遍历 树的遍历操作有以下三种: 1.先序遍历(根,左孩子,右孩子) void PreOrderTravel(node t[], int x) { cout << t[x].name << " "; if(t[x].lch!=-1) PreOrderTravel(t, t[x].lch); if(t[x].rch!=-1) PreOrderTravel(t, t[x]

第三章动态规划小结

动态规划 3.1.矩阵连乘问题 标准算法: 1 void matrixMultiply(int **a,int **b,int **c,int ra,int ca, int rb,int cb){ 2 if(ca !=rb) 3 error("矩阵不可乘"): 4 for(int i=0;i<ra;i++){ 5 for(int j=0;j<cb;j++){ 6 int sum = a[i][0]*b[0][j]; 7 for(int k=1;k<ca;k++) 8

第三章内容总结

这两周学习了关于栈和队列的表示.操作和实现. 栈:先进后出 队:先进先出 两种线性表一般用在特定的场景. 如括号匹配用的是栈:银行排队用的是队列. 本周首先完成了括号匹配,一开始是根据书本打上关于栈的基本操作函数(入栈,出栈) 我采用的方法是顺序栈. 首先在主函数判断括号匹配 由 将所有的不符合的方式 修改成 !(符合的方式),可以很快写出判断条件: 其中有遇到非常愚蠢的问题就是左右括号弄翻以及采用了中文的括号. 在判断栈是否空的时候,由于我定义了栈顶和栈底指针 判断栈空的时候用的是(栈顶指针等

Learn Prolog Now 翻译 - 第三章 - 递归 - 第四节,更多的实践和练习

在学习了前三章内容后,我们应该对Prolog编程有了直观和理性的认识.由于合一.变量初始化.证明搜索和递归都是Prolog的核心概念,所以有如下更多的一些实践和练习. 这里我会先录入题目,后期再给出我自己的程序代码和一些思考. 实践1 试想有如下的描述迷宫的知识库.其中的事实描述了点和点之间的联通关系,即connected/2谓词逻辑给出了这样的事实:迷宫中能从参数1的点,直接到达参数2的点.而且, 联通关系是有方向的.单向不能往返的: connected(1,2). connected(3,4