通过总结,我们可以更好地发现和分析问题的根源,寻找解决问题的方法和策略。怎样写一份完美的总结,是我们需要思考的重要问题之一。这是小编为大家准备的一些总结范文,希望能帮到你。
数据结构课程感想篇一
本章作为全书的导引,全面介绍了相关概念,如数据、数据元素、数据类型以及数据结构的定义。其中,数据结构包括逻辑结构、存储结构和运算集合。逻辑结构分为四类:集合型、线性、树形和图形结构;数据元素的存储结构分为:顺序存储、链接存储、索引存储和散列存储四类;最后介绍算法的时间性能分析以及算法的空间性能分析。
一、主要介绍顺序表的定义,基本算法和时间性能的分析;
二、主要介绍一些简单的查找算法和排序算法
本章主要介绍的是线性逻辑结构的数据在链接存储下的数据结构链表的相关知识,本章主要介绍单链表、循环链表的数据类型的定义及一些对数据的操作的算法和时间性能的分析。以及链表的应用主要有多项式相加,归并问题、箱子排序问题等方面。
本章介绍了两种不同的存储结构下设计的堆栈,即顺序栈和链栈;分别对顺序栈和链栈的数据类型定义和对数据的操作比若说取栈顶元素和元素入栈等算法。最后介绍了堆栈的应用如:汉诺塔和火车车厢重排问题。
树和森林的概念和性质、数据结构、树的基本算法及性能分析,树与二叉树之间的转换和森林与二叉树之间的转换及其相应的算法。其次还有树和森林的遍历和树的存储结构,包括双亲表示法,孩子表示法,孩子兄弟表示法。
本章主要介绍图的定义和基础知识,图的四种存储结构,图的基本算法以及图的典型应用问题如:最小生成树,最短路径,拓扑排序和关键路径等。
1、建议在上课过程中加大随堂练习的分量,以便学生能当堂消化课堂上学习的知识,也便于及时了解学生对知识点的掌握情况,同时有助于学生保持良好的精神状态。
2、建议在课时允许的情况下,增加习题课的分量,通过课堂的习题讲解,加深对知识点的掌握,同时对各知识点的运用有一个更为直观和具体的认识。
数据结构课程感想篇二
本次课程设计所用到的知识完全是上学期的知识,通过这次课程设计,我认识到了我对数据结构这门课的掌握程度。
首先我这个课程设计是关于二叉树的,由于是刚接触二叉树,所以我掌握的长度并不深。在编程之前我把有关于二叉树的知识有温习了一遍,还好并没有忘掉。二叉树这章节难度中上等,而且内容广泛,所以我只掌握了百分之六七十。
然后,在编程中我认识到了自己动手能力的不足,虽然相比较大二而言进步很大,但是我还是不满意,有的在编程中必须看书才能写出来,有的靠百度,很少是自己写的。还好,我自己组装程序的能力还行,要不这东拼西凑的程序根本组装不了。在编程中我还认识到了,编程不能停下,如果编程的时间少了,知识忘的会很快,而且动手也会很慢。同时,同学之间的合作也很重要,每个人掌握的知识都不一样,而且掌握程度也不一样,你不会的别的同学会,所以在大家的共同努力下,编程会变得很容易。在这次编程中,我了解到了自己某些方面的不足,比如说链表的知识,虽然我能做一些有关于链表的编程,但是很慢,没有别人编程的快,另外,二叉树和图的知识最不好掌握,这方面的知识广泛而复杂。以前,没动手编程的时候觉得这些知识很容易,现在编程了才发现自己错了,大错特错了,我们这个专业最重视的就是动手编程能力,如果我们纸上写作能力很强而动手编程能力很差,那我们就白上这个专业了。计算机这个专业就是锻炼动手编程能力的,一个人的理论知识再好,没有动手编程能力,那他只是一个计算机专业的“入门者”。在编程中我们能找到满足,如果我们自己编程了一个程序,我们会感到自豪,而且充实,因为如果我们专研一个难得程序,我们会达到忘我的境界,自己完全沉浸在编程的那种乐趣之中,完全会废寝忘食。编程虽然会乏味很无聊,但是只要我们沉浸其中,你就会发现里面的乐趣,遇到难得,你会勇往直前,不写出来永不罢休;遇到容易的,你会找到乐趣。编程是很乏味,但是那是因为你没找到编程重的乐趣,你只看到了他的不好,而没有看到他的好。其实,只要你找到编程中得乐趣,你就会完全喜欢上他,不编程还好,一编程你就会变成一个两耳不闻窗外事的“植物人”。可以说只要你涉及到了计算机,你就的会编程,而且还要喜欢上他,永远和他打交道,我相信在某一天,我们一定会把他当作我们不可或缺的好朋友。
最后我要谈的是长时间编程的好处,俗话说“熟能生巧”,确实是这样。如果我们长时间不编程,在一接触他,我们会感到很陌生。有规律的编程会提高我们的动手能力,我们的思维,也会让我们变得很细心。在一个几千行的程序中,我们都能找到错误,那我们还会怕其他的错误吗?可以说编程是我们在我们这一行业的一把利剑,如果我们能很好的利用它,我们就会成为这个行业的真正成功者。也许你会说就算变成好了也不一定成功,是的,但是你不会编程就一定不会成功。如果,我们想成为这个专业的成功者,我们就得爱上编程,不管他是怎么得乏味,怎么得无聊,我们都不能丢掉他。
总之,动手编程就是锻炼我们的动手能力,当然这个动手能力并不是科研上的动手能力,而是我们的动手编程能力,记住,只要你真正的喜欢上他,你就会发现其中的乐趣,我相信,只要你坚持下去,你一定会喜欢上他,把编程当作自己日常生活中一件必须做的事情。
数据结构课程感想篇三
本次课程设计,使我对《数据结构》这门课程有了更深入的理解。《数据结构》是一门实践性较强的课程,为了学好这门课程,必须在掌握理论知识的同时,加强上机实践。
我的课程设计题目是线索二叉树的运算。刚开始做这个程序的时候,感到完全无从下手,甚至让我觉得完成这次程序设计根本就是不可能的,于是开始查阅各种资料以及参考文献,之后便开始着手写程序,写完运行时有很多问题。特别是实现线索二叉树的删除运算时很多情况没有考虑周全,经常运行出现错误,但通过同学间的帮助最终基本解决问题。
在本课程设计中,我明白了理论与实际应用相结合的重要性,并提高了自己组织数据及编写大型程序的能力。培养了基本的、良好的程序设计技能以及合作能力。这次课程设计同样提高了我的综合运用所学知识的能力。并对vc有了更深入的了解。《数据结构》是一门实践性很强的课程,上机实习是对学生全面综合素质进行训练的一种最基本的方法,是与课堂听讲、自学和练习相辅相成的、必不可少的一个教学环节。上机实习一方面能使书本上的知识变“活”,起到深化理解和灵活掌握教学内容的目的;另一方面,上机实习是对学生软件设计的综合能力的训练,包括问题分析,总体结构设计,程序设计基本技能和技巧的训练。此外,还有更重要的一点是:机器是比任何教师更严厉的检查者。因此,在“数据结构”的学习过程中,必须严格按照老师的要求,主动地、积极地、认真地做好每一个实验,以不断提高自己的编程能力与专业素质。
通过这段时间的课程设计,我认识到数据结构是一门比较难的课程。需要多花时间上机练习。这次的程序训练培养了我实际分析问题、编程和动手能力,使我掌握了程序设计的基本技能,提高了我适应实际,实践编程的能力。
总的来说,这次课程设计让我获益匪浅,对数据结构也有了进一步的理解和认识。
这学期开始两周时间是我们自己选题上机的时间,这学期开始两周时间是我们自己选题上机的时间,虽然上机时间只有短短两个星期但从中确实学到了不少知识。上机时间只有短短两个星期但从中确实学到了不少知识。数据结构可以说是计算机里一门基础课程,据结构可以说是计算机里一门基础课程,但我觉得我们一低计算机里一门基础课程定要把基础学扎实,定要把基础学扎实,然而这次短短的上机帮我又重新巩固了c语言知识,让我的水平又一部的提高。数据结构这是一门语言知识让我的水平又一部的.提高。
数据结构课程感想篇四
完成了这次的二元多项式加减运算问题的课程设计后,我的心得体会很多,细细梳理一下,有以下几点:
1、程序的编写中的语法错误及修改
因为我在解决二元多项式问题中,使用了链表的方式建立的二元多项式,所以程序的空间是动态的生成的,而且链表可以灵活地添加或删除结点,所以使得程序得到简化。但是出现的语法问题主要在于子函数和变量的定义,降序排序,关键字和函数名称的书写,以及一些库函数的规范使用,这些问题均可以根据编译器的警告提示,对应的将其解决。
2、程序的设计中的逻辑问题及其调整
我在设计程序的过程中遇到许多问题,首先在选择数据结构的时候选择了链表,但是链表的排序比较困难,特别是在多关键字的情况下,在一种关键字确定了顺序以后,在第一关键字相同的时候,按某种顺序对第二关键字进行排序。在此程序中共涉及到3个量数,即:系数,x的指数和y的指数,而关键字排是按x的指数和y的指数来看,由于要求是降幂排序且含有2个关键字,所以我先选择x的指数作为第一关键字,先按x的降序来排序,当x的指数相同时,再以y为关键字,按照y的指数大小来进行降序排列。
另外,我在加法函数的编写过程中也遇到了大量的问题,由于要同时比较多个关键字,而且设计中涉及了数组和链表的综合运用,导致反复修改了很长的时间才完成了一个加法的设计。但是,现在仍然有一个问题存在:若以0为系数的项是首项则显示含有此项,但是运算后则自动消除此项,这样是正确的。但是当其不是首项的时候,加法函数在显示的时候有0为系数的项时,0前边不显示符号,当然,这样也可以理解成当系数为0时,忽略这一项。这也是本程序中一个不完美的地方。
我在设计减法函数的时候由于考虑不够充分就直接编写程序,走了很多弯路,不得不停下来仔细研究算法,后来发现由于前边的加法函数完全适用于减法,只不过是将二元多项式b的所有项取负再用加法函数即可,可见算法的重要性不低于程序本身。
3、程序的调试中的经验及体会
我在调试过程中,发生了许多小细节上的问题,它们提醒了自己在以后编程的时候要注意细节,即使是一个括号的遗漏或者一个字符的误写都会造成大量的错误,浪费许多时间去寻找并修改,总结的教训就是写程序的时候,一定要仔细、认真、专注。
我还有一个很深的体会就是格式和注释,由于平时不注意格式和注释这方面的要求,导致有的时候在检查和调试的时候很不方便。有的时候甚至刚刚完成一部分的编辑,结果一不注意,就忘记了这一部分程序的功能。修改的时候也有不小心误删的情况出现。如果注意格式风格,并且养成随手加注释的习惯,就能减少这些不必要的反复和波折。还有一点,就是在修改的时候,要注意修改前后的不同点在哪里,改后调试结果要在原有的基础上更加精确。
数据结构课程感想篇五
《数据结构》是一门实践性较强的课程,为了学好这门课程,必须在掌握理论知识的同时,加强上机实践。
接下来就跟本站小编一起去了解一下关于数据结构课程设计
心得体会
吧!决问题和在老师的帮助下一步一步慢慢的正确运行程序, 决问题和在老师的帮助下一步一步慢慢的正确运行程序,终 于完成了这次课程设计, 于完成了这次课程设计,虽然这次课程设计结束了但是总觉 得自已懂得的知识很是不足,学无止境, 得自已懂得的知识很是不足,学无止境,以后还会更加的努 力深入的学习。 力深入的学习。
本次课程设计,使我对《数据结构》这门课程有了更深入的理解。我的课程设计题目是线索二叉树的运算。刚开始做这个程序的时候,感到完全无从下手,甚至让我觉得完成这次程序设计根本就是不可能的,于是开始查阅各种资料以及参考文献,之后便开始着手写程序,写完运行时有很多问题。特别是实现线索二叉树的删除运算时很多情况没有考虑周全,经常运行出现错误,但通过同学间的帮助最终基本解决问题。
在本课程设计中,我明白了理论与实际应用相结合的重要性,并提高了自己组织数据及编写大型程序的能力。培养了基本的、良好的程序设计技能以及合作能力。这次课程设计同样提高了我的综合运用所学知识的能力。并对vc有了更深入的了解。《数据结构》是一门实践性很强的课程,上机实习是对学生全面综合素质进行训练的一种最基本的方法,是与课堂听讲、自学和练习相辅相成的、必不可少的一个教学环节。上机实习一方面能使书本上的知识变“活”,起到深化理解和灵活掌握教学内容的目的;另一方面,上机实习是对学生软件设计的综合能力的训练,包括问题分析,总体结构设计,程序设计基本技能和技巧的训练。此外,还有更重要的一点是:机器是比任何教师更严厉的检查者。因此,在“数据结构”的学习过程中,必须严格按照老师的要求,主动地、积极地、认真地做好每一个实验,以不断提高自己的编程能力与专业素质。
通过这段时间的课程设计,我认识到数据结构是一门比较难的课程。需要多花时间上机练习。这次的程序训练培养了我实际分析问题、编程和动手能力,使我掌握了程序设计的基本技能,提高了我适应实际,实践编程的能力。
总的来说,这次课程设计让我获益匪浅,对数据结构也有了进一步的理解和认识。
通过本次课程设计,对图的概念有了一个新的认识,在学习离散数学的时候,总觉得图是很抽象的东西,但是在学习了《数据结构与算法》这门课程之后,我慢慢地体会到了其中的奥妙,图能够在计算机中存在,首先要捕捉他有哪些具体化、数字化的信息,比如说权值、顶点个数等,这也就说明了想要把生活中的信息转化到计算机中必须用数字来完整的构成一个信息库,而图的存在,又涉及到了顶点之间的联系。图分为有向图和无向图,而无向图又是有向图在权值双向相等下的一种特例,如何能在计算机中表示一个双向权值不同的图,这就是一件很巧妙的事情,经过了思考和老师同学的帮助,我用 edges[i][j]=up 和 edges[j][i]=up 就能实现了一个双向图信息的存储。对整个程序而言,dijkstra 算法始终都是核心内容,其实这个算法在实际思考中并不难,也许我们谁都知道找一个路径最短的方法,及从顶点一步一步找最近的路线并与其直接距离相比较,但是,在计算机中实现这么一个很简单的想法就需要涉及到很多专业知识,为了完成设计,在前期工作中,基本都是以学习c 语言为主,所以浪费了很多时间,比如说在程序中,删除顶点和增加顶点的模块中都有和建图模块相互重复的函数,但是由于技术的原因,只能做一些很累赘的函数,可见在调用知识点,我没有掌握好。不过,有了这次课程设计的经验和教训,我能够很清楚的对自己定一个合适的水平,而且在这次课程设计中我学会了运用两个新的函数sprintf和包涵在#include 头文件中的输入函数。因为课程设计的题目是求最短路径,本来是想通过算法的实现把这个程序与交通情况相连,但是因为来不及查找各地的信息,所以,这个计划就没有实现,我相信在以后有更长时间的情况下,我会做出来的。
数据结构课程感想篇六
1、运动会分数统计
任务:参加运动会有n个学校,学校编号为1……n。比赛分成m个男子项目,和w个女子项目。项目编号为男子1……m,女子m+1……m+w。不同的项目取前五名或前三名积分;取前五名的积分分别为:7、5、3、2、1,前三名的积分分别为:5、3、2;哪些取前五名或前三名由学生自己设定。(m=10 , w=8 , n=15)功能要求:
3).可以按学校编号、学校总分、男女团体总分排序输出(快速、基数);
4).可按学校编号查询学校某个项目的情况;可按项目编号查询取得前三或前五名的学校。
界面要求:有合理的提示,每个功能可以设立菜单,根据提示,可以完成相关的功能要求。
存储结构:学生自己根据系统功能要求自己设计,但是要求运动会的相关数据要存储在数据文件中。
测试数据:要求使用
1、全部合法数据;
2、迷宫求解
3、huffman编码
4、营业窗口队列模拟
任务:实现具有n(n=3)个窗口的现实队列模拟,统计每人的等待时间。要求:
1).随机产生顾客的到达时间和服务时间存盘。2).利用存盘数据实现队列的插入和删除。2).当有顾客离开时,根据队列长度调整队尾。3).考虑顾客中途离队的情况。4).考虑顾客具有优先级的情况。
5、公交线路提示
任务:建立南京主要公交线路图。要求:输入任意两站点,给出最佳的乘车线路和转车地点。
6、家谱管理系统
任务:实现具有下列功能的家谱管理系统 功能要求:
1).输入文件以存放最初家谱中各成员的信息,成员的信息中均应包含以下内容:姓名、出生日期、婚否、地址、健在否、死亡日期(若其已死亡),也可附加其它信息、但不是必需的。
2).实现数据的存盘和读盘。3).以图形方式显示家谱。
4).显示第n 代所有人的信息。
5).按照姓名查询,输出成员信息(包括其本人、父亲、孩子的信息)。6).按照出生日期查询成员名单。7).输入两人姓名,确定其关系。8).某成员添加孩子。
9).删除某成员(若其还有后代,则一并删除)。10).修改某成员信息。
11).按出生日期对家谱中所有人排序。
12).打开一家谱时,提示当天生日的健在成员。
要求:建立至少30个成员的数据,以较为直观的方式显示结果,并提供文稿形式以便检查。
界面要求:有合理的提示,每个功能可以设立菜单,根据提示,可以完成相关的功能要求。
1、全部合法数据;
7、排序算法比较
设计要求:利用随机函数产生10个样本,每个样本有50000随机整数,利用直接插入排序、折半插入排序,表插入排序,希尔排序,起泡排序、快速排序、选择排序、堆排序,归并排序,基数排序十种排序方法进行排序(结果为由小到大的顺序),并统计每一种排序所耗费的平均时间(统计为图表坐标形式)。
8、算术表达式求值 [问题描述]
一个算术表达式是由操作数(operand)、运算符(operator)和界限符(delimiter)组成的。假设操作数是正整数,运算符只含加减乘除等四种运算符,界限符有左右括号和表达式起始、结束符“#”,如:#(7+15)*(23-28/4)#。引入表达式起始、结束符是为了方便。编程利用“算符优先法”求算术表达式的值。[基本要求](1)从键盘读入一个合法的算术表达式,输出正确的结果。(2)显示输入序列和栈的变化过程。
9、电子小字典
基本要求:建立一个微型电子字典,实现生词的加入,单词的查找、删除,修改等操作。
数据结构:键树
10、校园导游程序
(2)查询图中任意两个景点间的最短路径。(3)查询图中任意两个景点间的所有路径。
(4)增加、删除、更新有关景点和道路的信息。
11、稀疏矩阵相乘
任务:以三元组形式存储稀疏矩阵,实现矩阵相乘。
12、平衡二叉树
任务:平衡二叉树的建立、结点的插入和删除。
13、b-树
任务:3阶b-树的结点的插入和删除。
14、hash表
任务:以班级学生姓名(拼音)为关键字,建立hash涵数,实现hash表存储,用链地址方法解决冲突。
15、„„(自选合适的题目)
成绩评定细则:
1.正确性:程序是否可以运行,结果是否正确(20分)2.功能的完备性:是否实现要求的所有子功能(20分)
加分项目:
1.健壮性:异常处理的情况
3.功能的完善:除要求实现的功能外,完成了其它的功能,实现了功能的完善 4.界面的设计:可视化界面,或者交互良好的dos界面 5.……(自荐加分项目)
代码量要求:=1000行。
代码总量 = 课设题目1 代码量 + 课设题目2 代码量…… 若代码总量低于1000行,则成绩按比例打折。
编程语言:c或c++语言
编程环境:microsoft visual c++ 6.0
时间安排: 上机时间安排 课程设计报告上交时间 3 课程设计检查时间
课程设计报告要求:
2.给出自己采用的数据结构; 3.给出算法设计思想;
4.给出实现的源程序,并在必要的代码处给出注释; 5.给出测试数据和结果;
6.给出算法的时间复杂度、另外可以提出算法的改进方法;
7.给出结束语:说明完成课程设计的情况,心得体会;课程设计报告的电子文档在上机检查程序时一并检查;书面文档在指定的时间内上交。
数据结构课程感想篇七
专业知识,为了完成设计,在前期工作中,基本都是以学习c语言为主,所以浪费了很多时间,比如说在程序中,删除顶点和增加顶点的模块中都有和建图模块相互重复的函数,但是由于技术的原因,只能做一些很累赘的函数,可见在调用知识点,我没有掌握好。
不过,有了这次课程设计的经验和教训,我能够很清楚的对自己定一个合适的水平,而且在这次课程设计中我学会了运用两个新的函数sprintf和包涵在#include头文件中的输入函数。因为课程设计的题目是求最短路径,本来是想通过算法的实现把这个程序与交通情况相连,但是因为来不及查找各地的信息,所以,这个计划就没有实现,我相信在以后有更长时间的情况下,我会做出来的。
1、巩固和加深了对数据结构的理解,提高综合运用本课程所学知识的能力。
2、培养了我选用参考书,查阅手册及文献资料的能力。培养独立思考,深入研究,分析问题、解决问题的能力。
3、通过实际编译系统的分析设计、编程调试,掌握应用软件的分析方法和工程设计方法。
4、通过课程设计,培养了我严肃认真的工作作风,逐步建立正确的生产观念、经济观念和全局观念。
根据我在实习中遇到得问题,我将在以后的学习过程中注意以下几点:
1、认真上好专业实验课,多在实践中锻炼自己。2、写程序的过程中要考虑周到,严密。
3、在做设计的时候要有信心,有耐心,切勿浮躁。4、认真的学习课本知识,掌握课本中的知识点,并在此基础上学会灵活运用。
5、在课余时间里多写程序,熟练掌握在调试程序的过程中所遇到的常见错误,以便能节省调试程序的时间。
这是一门纯属于设计的科目,它需用把理论变为上机调试。在学习科目的第一节课起,李老师就为我们阐述了它的重要性。它对我们来说具有一定的难度。它是其它编程语言的一门基本学科。
己找出错误,并加以改正。
tc里检查错误都是用英文来显示出来的,经过了这次课程设计,现在已经可以了解很多错误在英文里的提示,这对我来说是一个突破性的进步,眼看着一个个错误通过自己的努力在我眼前消失,觉得很是开心。此次的程序设计能够成功,是我和我的同学三个人共同努力作用的结果。在这一段努力学习的过程中,我们的编程设计有了明显的提高。
其实现在想起来,收获还真是不少,虽然说以前非常不懂这门语言,在它上面花费了好多心血,觉得它很难,是需用花费了大量的时间编写出来的。现在真正的明白了一些代码的应用,每个程序都有一些共同点,通用的结构,相似的格式。只要努力去学习,就会灵活的去应用它。
数据结构课程感想篇八
一、教学指导思想
(一)构建以能力为核心的课程结构体系
会计人才培养必须贴近市场。从会计职业能力结构分析认为精财务、会核算、懂管理、有特色是今后会计专业学生就业的基本趋势。财务会计学课程又是会计学和财务管理学专业的核心课程,该课程的教学质量对会计应用型人才培养具有举足轻重的作用。因此,结合职业市场对会计人才的需求,按照“知识、能力、素质一体化”的指导思想,唐山学院会计系财务会计学课程组重新设计了本课程的教学目标:通过财务会计学课程的学习,一方面使学生掌握财务会计理论、技术与方法,增强职业核心竞争力;另一方面使学生将专业知识的学习、自主学习与创新能力培养、个性的全面发展有机统一起来,注重对学生课程拓展能力的培养,使课程的教学内容真正内化为学生的综合素质与能力。
(二)尝试构建全方位教学过程
要实现知识、能力、素质的协调发展和综合提高的目标,必须对教学过程进行全面改革。为此,我们从08级会计学本科开始设计实施方法,从09级会计学本科开始部分尝试,从横向上,将财务会计学课程教学过程按教学环节划分为三大模块,即课前导学、课堂教学、课后答疑。从纵向上,突破传统课堂教学教师一言堂教学模式,实现了基于问题式的合班上课小组(班)讨论合作性教学模式。在每一模块中确定阶段性教学目标,通过教学媒体的混合和教学方法的混合,实现师生互动、生生互动。
二、改革与建设实施方法
(一)更新教育教学观念
观念是行为的先导,教学改革要坚持知识、能力和素质协调发展,要重视学生在教学活动中的主体地位,充分调动学生学习的积极性、主动性和创造性,为此课程组教师开展教育观念讨论,摒弃传统的应试教育和单纯职业技能培养教育的观念,树立素质教育和创新教育的观念,明确教育目的不仅是传授知识和技能,更重要的是教会学生独立自主学习,提高学生的综合素质,培养学生的创新意识、创新精神和创新能力,把应用性和创新性结合起来,以应对激烈的人才竞争和职业生涯多变的复杂环境。因此,我们将教育观念的转变作为新一轮教学改革的起点,并指导教学改革的方向。
(二)改革课堂教学手段及教学组织形式
教学手段和教学组织形式是实现教学目标的途径,课程组教师在教学过程中全面推行多媒体教学、网络辅助教学,引入案例教学方法。以学生熟悉的上市公司为背景资料,通过多种教学手段的相互配合,使晦涩难懂的财务会计理论与方法在生动活泼的课堂氛围中得以掌握,提升学生课堂学习兴趣,同时也拉近理论与实践的距离。为配合唐山学院提出的应用型人才培养模式,本课程率先推行了“合班理论授课、小组合作性学习”的新型课堂教学组织形式,以培养学生自主学习能力与团体协作能力,全面提升学生的专业素质和综合素质。“合班理论授课、小组合作性学习研讨”的教学组织形式,即在主讲教师的引导性授课的前提下,通过主讲教师与辅导教师的指导,将大量的基础学习和深入学习工作交给学生在课后完成,促使学生课下通过阅读相关文献,撰写学习报告、完成案例分析报告等工作,实现财务会计学课程创新学习的目的。
1.合班理论授课。课堂上进行“五讲”教学,即讲知识的.背景、讲重点、讲难点、讲热点、讲获取知识和信息的方法与手段。在教学内容选取上,一方面对传统的教学内容进行整合,通过贯通、融合和相互渗透,以减少原来教学内容之间的重叠以及罗列现象。这不仅有利于减少教学时数,提高课程的教学效率,而且有利于学生学会如何寻找事物的内在联系,掌握课程的精华。另一方面,应用新的会计改革成果对某些经典内容加以创新处理,使之富有新意。在讲授方法上,采用“五讲教学法”。即对每一个教学内容的讲解,不是面面俱到,而是讲重点,讲难点,讲热点问题,讲获取知识的方法与手段,讲知识产生的背景。
2.小组讨论。小组讨论实际上是对合班上课所获取知识的一个总结运用和必要补充的环节。小组讨论是将研讨内容事先布置下去,学生在课余时间搜集资料,撰写个人学习心得,并以小组为单位组织研讨,撰写发言报告。最后在小组讨论课上进行集中发言。指导教师对每一组的工作过程及结果均要进行点评及总结。通过小组讨论,能够达到对所讲教学内容融会贯通的目的,使理论与实践得以有机结合。不仅可以调动学生的学习积极性和创造性,而且有利于学生对所学到的知识融会贯通,能够提高他们的逻辑思维能力、语言表达能力、分析问题与解决问题的能力。
(三)锻炼学生理论联系实际的能力
1.增加财务会计案例研讨。通过组成研讨小组,选择不同的案例,对案例所涉及的相关问题进行资料查阅、撰写读书笔记、小组讨论,记录过程,进而找出存在的问题、适用的会计准则,提出自己的分析意见,形成小组分析报告,并进行课堂发言、回答老师与学生的提问。通过案例研讨,不仅锻炼学生的资料收集与文献阅读能力,语言表达与沟通能力,而且锻炼了学生的管理能力、组织协调能力、分析问题和解决问题的能力。
2.建立财务会计实习与实验的长效机制。实践性教学是教学的重要方面,是知识转化为能力和素质的重要环节。实践教学的设计思想是在坚持教师引导作用的同时,强调学生在实践过程中的认知主体作用,在理论指导基础上,强调学生的实践动手能力,展开认识实习,课内案例研讨,综合模拟实验(包括手工和电算化实验)、毕业实习,形成了课内实践和课外实践相结合、校内实践和校外实践相结合、手工实验与电算化实验相结合、仿真模拟与企业实习相结合的实践教学模式。这种实践教学模式,为学生把知识转化为能力、能力内化为素质提供了强有力的保证。
(1)认识实习。在学习财务会计学课程的前一个学期期末,利用一周的时间,提前对学生进行财务会计课程的动员,并组织学生去企业参观学习、聘请企业界人士为学生开设讲座,激励学生利用假期到企业、事业等单位去实地观摩、见习,增加学生对财务会计学课程内容的感性认识,在实习的过程中,完成以下任务:建立导师制。目的是:在学生以后的理论学习过程中,经常会遇到晦涩难懂的理论问题,这时学生可以通过电话或其他联系方式向指导教师求助,解决理论联系实际脱节的问题,从而增强学生对实际问题的认识,锻炼学生将课堂所学用于解决实际问题的能力。第二,了解所在见习单位的会计机构、人员构成、岗位设置与流程。第三,见习结束后,学生提交实习或调查报告。
(2)集中模拟实习。第三学期期末,利用二周时间进行集中模拟实习。通过此次实习,提高学生会计基本业务的处理能力。这是一种在校内实验室里进行的以一个企业一周期(一般选择12月份)的代表性会计资料为基础,通过一整套真实的会计凭证、账簿、报表及其相应的核算工具,模仿企业财会部门会计实务处理的仿真演练形式。开设综合模拟实验的主要目的在于检验学生根据财务会计学的基本原理和方法进行会计实务操作的适应能力。因此,在设计综合模拟实习资料时,我们以多元化、集团化经营的企业为蓝本,包括工业企业、商业企业、房地产企业、外贸企业等不同行业的经济业务,让学生模拟建账、处理各种会计业务、登记各种账簿、成本核算、对账、结账、利润分配及年终决算、财务报告的编制整个财务核算的全过程,从而使学生对企业的整个会计业务流程有一个全面、系统的认识。
(3)毕业实习。这一阶段主要是让学生通过社会实践亲身参与实务工作,将财务会计学课堂所学知识运用到实务中,通过实际操作,增加对实际工作的认识,并掌握基本技能,为日后从事实务工作奠定基础。通过上述一系列实践教学,增加了学生对财务会计工作的感性认识,激发了学生学习的积极性,巩固、深化了课堂教学内容,培养了学生实际操作能力,提高了学生分析问题、解决问题的能力和创新能力。由于课程实验和综合实验资料均来自于企业实务工作,与企业同步,在校期间受到良好的、严格的、科学的规范化训练,所以学生在毕业实习中发挥出上手快、动手能力强的特色,受到实习单位的好评,有很多学生甚至直接签约实习单位,这在社会上已经形成共识,连续几年会计专业的学生就业率均为90%以上。
(四)为学生营造探究性学习的空间,鼓励学生进行科研活动
为鼓励学生对感兴趣的问题进一步研究,让学生与导师联系参与到自己感兴趣的课题当中。学生通过导师科学研究的熏陶,使学生逐渐地接触前沿理论,同时关注会计实务的运作情况,查阅参考资料,通过这些过程将自己的所思所想,形成文字,持之以恒,不仅增加了知识,更重要的是促进学生的科研兴趣和科研能力,培养他们的创新能力和应用能力。
(五)改进考核方法,注重过程考核和应用能力考评
学习成绩的评价与考核对学生学习有很强的导向作用。为了实现由应试教育向素质教育和创新教育转变,我们对原有的考试制度进行了改革。一是在考核方式上,将形成性考核与终结性考核相结合,平时成绩与期终考试成绩分别占60%和40%。二是在考核内容上,减少知识性试题的份量,增加案例分析等能力性试题的份量,侧重于考核学生的知识运用能力、分析与解决问题的能力,防止和杜绝了平时不认真学习,到期末靠死记硬背应付考试的现象,使学生对所学的课程内容真正做到“弄懂、学活、会用”。
三、结语
参考资料:
[1]蒋卫东.导向式教学法在高级财务会计教学中的应用[j].财会月刊,2005,(30).
[2]张海水.我国会计专业人才培养现状、存在问题及未来发展的思考[j].商业会计,2014,(01).
[3]李慧思.财务会计教学中存在的问题及其改进[j].商业会计,2014,(03).
数据结构课程感想篇九
1、数据结构和算法
本章作为全书的导引,全面介绍了相关概念,如数据、数据元素、数据类型以及数据结构的定义。其中,数据结构包括逻辑结构、存储结构和运算集合。逻辑结构分为四类:集合型、线性、树形和图形结构;数据元素的存储结构分为:顺序存储、链接存储、索引存储和散列存储四类;最后介绍算法的时间性能分析以及算法的空间性能分析。
2、顺序表及其应用
一、主要介绍顺序表的定义,基本算法和时间性能的分析;
二、主要介绍一些简单的查找算法和排序算法
3、链表及其应用
本章主要介绍的是线性逻辑结构的数据在链接存储下的数据结构链表的相关知识,本章主要介绍单链表、循环链表的数据类型的定义及一些对数据的操作的算法和时间性能的分析。以及链表的应用主要有多项式相加,归并问题、箱子排序问题等方面。
4、堆栈及其应用
本章介绍了两种不同的存储结构下设计的堆栈,即顺序栈和链栈;分别对顺序栈和链栈的数据类型定义和对数据的操作比若说取栈顶元素和元素入栈等算法。最后介绍了堆栈的应用如:汉诺塔和火车车厢重排问题。
5、队列及其应用
6、特殊矩阵、广义表及其应用
7、二叉树及其应用
8、树和森林及其应用
树和森林的概念和性质、数据结构、树的基本算法及性能分析,树与二叉树之间的转换和森林与二叉树之间的转换及其相应的算法。其次还有树和森林的遍历和树的存储结构,包括双亲表示法,孩子表示法,孩子兄弟表示法。
9、散列结构及其应用
本章主要介绍图的定义和基础知识,图的四种存储结构,图的基本算法以及图的典型应用问题如:最小生成树,最短路径,拓扑排序和关键路径等。
二、学习体会
1、建议在上课过程中加大随堂练习的分量,以便学生能当堂消化课堂上学习的知识,也便于及时了解学生对知识点的掌握情况,同时有助于学生保持良好的精神状态。
2、建议在课时允许的情况下,增加习题课的分量,通过课堂的习题讲解,加深对知识点的掌握,同时对各知识点的运用有一个更为直观和具体的认识。
数据结构课程感想篇十
数据结构与算法(data structures)
计算机技术已成为现代化发展的重要支柱和标志,并逐步渗透到人类生活的各个领域。随着计算机硬件的发展,对计算机软件的发展也提出了越来越高的要求。由于软件的核心是算法,而算法实际上是对加工数据过程的描述,所以研究数据结构对提高编程能力和设计高性能的算法是至关重要的。
非数值计算问题的数学模型不再是传统的数学方程问题,而是诸如表、树、图之类的数据结构。因此,简单地说,数据结构是一门研究非数值计算的程序设计问题的学科,主要研究数据的逻辑结构、存储结构和算法。
一、教学目的与要求---了解数据的逻辑结构和物理结构;
教学要求在每章教学内容给出,大体上为三个层次:了解、掌握和熟练掌握。他们的含义大致为:了解是正确理解概念,掌握是学会所学知识,熟练掌握就是运用所学知识解决实际问题。
教学目的为:了解算法对于程序设计的重要性 ; 学习掌握基本数据结构的描述与实现方法,熟练掌握典型数据结构及其应用算法的设计。了解算法分析方法。
二、教学重点与难点--数据结构中基本概念和术语,算法描述和分析方法。
1、链表插入、删除运算的算法。算法时间复杂度
2、后缀表达式的算法,数制的换算
利用本章的基本知识设计相关的应用问题
3、循环队列的特点及判断溢出的条件
利用队列的特点设计相关的应用问题
4、串的模式匹配运算算法
5、二叉树遍历算法的设计
利用二叉树遍历算法,解决简单应用问题 哈夫曼树的算法
6、图的遍历
最小生成树
最短路径
7、二叉排序树查找
平衡树二叉树
8、堆排序
快速排序 归并排序
四、教学内容、目标与学时分配
教学内容 教学目标 课时分配
1、绪论
数据结构的内容
逻辑结构与存储结构
算法和算法分析
2、线性表
线性表的定义与运算
线性表的顺序存储
线性表的链式存储
3、栈
栈的定义与运算
栈存储和实现
栈的应用举例
4、队列
队列的定义与基本运算
队列的存储与实现
队列的应用举例
5、串
串的定义与基本运算
串的表示与实现
串的基本运算
6、树和二叉树
树的定义和术语
二叉树树的基本概念和术语 遍历二叉数和线索二叉树
二叉树的转换
二叉树的应用
哈夫曼树及其应用
7、图
图的定义和术语
图的存储结构
图的遍历算法
图的连通性
8、查找
查找的基本概念与静态查找 动态查找
哈希表
了解
了解
掌握
熟练掌握顺序表存储地址的计算
掌握单链表的结构特点和基本运算
掌握双链表的结构特点和基本运算
掌握栈的定义与运算
掌握栈的存储与实现
熟练掌握栈的各种实际应用
掌握队列的定义与基本运算
熟练掌握队列的存储与实现
掌握循环队列的特征和基本运算
了解串的逻辑结构
掌握串的存储结构
熟练掌握串的基本运算
了解
了解二叉树
熟练掌握二叉树定义和存储结构
了解二叉树的遍历算法
掌握
掌握哈夫曼的建立及编码
了解
了解
熟练掌握
熟练掌握
了解
熟练掌握
了解哈希表与哈希方法
4学时
1学时
1学时
2学时
8学时
2学时
2学时
4学时
8学时
2学时
2学时
4学时
6学时
2学时
2学时
2学时
6学时
2学时
2学时
2学时
12学时
2学时
2学时
2学时
2学时
2学时
2学时
8学时
2学时
2学时
2学时
2学时
8学时
4学时
2学时
2学时
9、排序
12学时 插入排序
熟练掌握基本思想
3学时 快速排序
了解各种内部排序方法和特点
3学时 选择排序
掌握
2学时 各种排序方法比较
掌握
2学时
实验内容 实验目标 课时分配 算法编程实验:
1、用指针方式编写程序 复习c(c++)语言指针、结构体等的用法
2、对单链表进行遍历
链表的描述与操作实现
3、栈及其操作
描述方法及操作
4、编写串子系统1 串的特点及顺序定长存储、操作、查找
5、编写串子系统 2 串的特点及顺序定长存储、操作、查找
6、编写树子系统1 二叉树的特点及存储方式、创建、显示、遍历等
7、编写树子系统2 二叉树的特点及存储方式、创建、显示、遍历等
8、图子系统
图的邻接矩阵的存储、遍历、广度/深度优先搜索
9、查找子系统
理解查找基本算法、平均查找长度、静态、动态查找等
五、考试范围与题型
1、考试范围与分数比例
1)绪论
12% 2)线性表
17% 3)栈
7% 4)队列
6% 5)串
4% 6)树和二叉树
14% 7)图
15% 8)查找
4% 9)排序
21%
2、考试题型与分数比例
1)名词解释
18% 2)判断对错
16% 3)填空
16% 4)单项选择
18% 5)应用
32%
六、教材与参考资料
1、教材: 实用数据结构基础(谭浩强)中国铁道出版社
2、参考资料: 数据结构(严蔚敏)清华大学出版社
数据结构实用教程(徐孝凯)清华大学出版社
(撰写人:
,审核人: 2学时 2学时 2学时 2学时 2学时 2学时 2学时 2学时 2学时)
数据结构课程感想篇十一
数据结构是计算机程序设计的重要理论技术基础,它不仅是计算机科学的核心课程,而且也已经成为其他理工专业的热门选修课。随着高级语言的发展,数据结构在计算机的研究和应用中已展现出强大的生命力,它兼顾了诸多高级语言的特点,是一种典型的结构化程序设计语言,它处理能力强,使用灵活方便,应用面广,具有良好的可移植性。
紧张的两周数据结构实训很快就过去了,通过这两周的实践学习,不仅使我们巩固了以前的知识并在此基础上还对数据结构的特点和算法有了更深的了解,使我们在这门课程的实际应用上也有了一个提高。
首先这两周的学习,使我们在巩固了原有的理论知识上,又培养了灵活运用和组成所学过知识及技能来分析、解决实际问题的能力,使我们体会到自身知识和能力在实际中的应用和发挥。
其次,它激发了我们创新意识,开发创造的能力和培养沟通能力。另外,让我们进一步熟悉了数据结构的设计应用。每一处编码都是在反复的熟悉数据结构的结构特性,及其语法、函数和程序设计思想的过程,对我们数据结构的学习和提高很有益处,并且使我们明白了程序设计过程,如解决一些实际问题,从解决实际问题的角度,我们可以这样来看:
第一要了解这个问题的基本要求,即输入、输出、完成从输入到输出的要求是什么;
第二,从问题的要害入手,从前到后的解决问题的每个方面,即从输入开始入手,着重考虑如何从输入导出输出,在这个过程中,可确定所需的数据结构的基本类型——线性表、栈、队列、串、数组、广义表、树和二叉树以及图等,然后确定处理过程——算法,通过在编译环境中的编译与调试,可到最终的程序。最后,在这次的实训过程中,我们深刻的认识到了自己在学习方面的不足之处,我知道我还有太多的基本的思想没有真正的理解,当然我们不会灰心,我们会在以后的日子里努力弥补我们的不足。
在两周的实训中,我们也体会到了团队合作的重要性,从最初的查阅资料到最后的程序的成功运行,我们组有过山穷水尽的困惑;有过柳暗花明的惊喜;有过唇枪舌剑的辩论;有过相互鼓励的安慰。两个礼拜的时间我们经历了很多,也收获了很多。与其说这次的实训是体力与脑力的作业,不如说它是合作精神和毅力的考验。经过这次课程设计,我们不仅学到了很多知识和技能,更重要的是我们学会了如何运用所学知识去解决实际问题。
总之,两个礼拜的课程设计让我们受益匪浅。我们深深认识到,要学好一门学科,没有刻苦钻研的精神是不行的,只有在不断的尝试中,经历失败,从失败中经验,然后再不断的尝试,才能获得成功。
数据结构课程感想篇十二
通过本次课程设计,对图的概念有了一个新的认识,在学习离散数学的时候,总觉得图是很抽象的东西,但是在学习了《数据结构与算法》这门课程之后,我慢慢地体会到了其中的`奥妙,图能够在计算机中存在,首先要捕捉他有哪些具体化、数字化的信息,比如说权值、顶点个数等,这也就说明了想要把生活中的信息转化到计算机中必须用数字来完整的构成一个信息库,而图的存在,又涉及到了顶点之间的联系。图分为有向图和无向图,而无向图又是有向图在权值双向相等下的一种特例,如何能在计算机中表示一个双向权值不同的图,这就是一件很巧妙的事情,经过了思考和老师同学的帮助,我用edges[i][j]=up和edges[j][i]=up就能实现了一个双向图信息的存储。
对整个程序而言,dijkstra算法始终都是核心内容,其实这个算法在实际思考中并不难,也许我们谁都知道找一个路径最短的方法,及从顶点一步一步找最近的路线并与其直接距离相比较,但是,在计算机中实现这么一个很简单的想法就需要涉及到很多专业知识,为了完成设计,在前期工作中,基本都是以学习c语言为主,所以浪费了很多时间,比如说在程序中,删除顶点和增加顶点的模块中都有和建图模块相互重复的函数,但是由于技术的原因,只能做一些很累赘的函数,可见在调用知识点,我没有掌握好。
不过,有了这次课程设计的经验和教训,我能够很清楚的对自己定一个合适的水平,而且在这次课程设计中我学会了运用两个新的函数sprintf和包涵在#include头文件中的输入函数。因为课程设计的题目是求最短路径,本来是想通过算法的实现把这个程序与交通情况相连,但是因为来不及查找各地的信息,所以,这个计划就没有实现,我相信在以后有更长时间的情况下,我会做出来的。
1、巩固和加深了对数据结构的理解,提高综合运用本课程所学知识的能力。
2、培养了我选用参考书,查阅手册及文献资料的能力。培养独立思考,深入研究,分析问题、解决问题的能力。
3、通过实际编译系统的分析设计、编程调试,掌握应用软件的分析方法和工程设计方法。
4、通过课程设计,培养了我严肃认真的工作作风,逐步建立正确的生产观念、经济观念和全局观念。
根据我在实习中遇到得问题,我将在以后的学习过程中注意以下几点:
1、认真上好专业实验课,多在实践中锻炼自己。
2、写程序的过程中要考虑周到,严密。
3、在做设计的时候要有信心,有耐心,切勿浮躁。
4、认真的学习课本知识,掌握课本中的知识点,并在此基础上学会灵活运用。
5、在课余时间里多写程序,熟练掌握在调试程序的过程中所遇到的常见错误,以便能节省调试程序的时间。
这是一门纯属于设计的科目,它需用把理论变为上机调试。在学习科目的第一节课起,李老师就为我们阐述了它的重要性。它对我们来说具有一定的难度。它是其它编程语言的一门基本学科。
刚开始学的时候确实有很多地方我很不理解,每次上课时老师都会给我们出不同的设计题目,对于我们一个初学者来说,无疑是一个具大的挑战,撞了几次壁之后,我决定静下心来,仔细去写程序。老师会给我们需要编程的内容一些讲解,顺着老师的思路,来完成自己的设计,我们可以开始运行自己的程序,可是好多处的错误让人看的可怕,还看不出到底是哪里出现了错误,但是程序还是得继续下去,我多次请教了老师和同学,逐渐能自己找出错误,并加以改正。
tc里检查错误都是用英文来显示出来的,经过了这次课程设计,现在已经可以了解很多错误在英文里的提示,这对我来说是一个突破性的进步,眼看着一个个错误通过自己的努力在我眼前消失,觉得很是开心。此次的程序设计能够成功,是我和我的同学三个人共同努力作用的结果。在这一段努力学习的过程中,我们的编程设计有了明显的提高。
其实现在想起来,收获还真是不少,虽然说以前非常不懂这门语言,在它上面花费了好多心血,觉得它很难,是需用花费了大量的时间编写出来的。现在真正的明白了一些代码的应用,每个程序都有一些共同点,通用的结构,相似的格式。只要努力去学习,就会灵活的去应用它。
数据结构课程感想篇十三
1004012033 陈孝婕 10计本3 “数据结构与算法”这门课程对于计算机科学与技术系的学生来说是非常重要的课程。这门课程主要包括十个章节。
一.每章主要知识点总结和个人掌握情况
第一章主要要求学生掌握数据、数据类型、数据结构、算法及算法分析等基本概念和基础知识。另外,第一章结合课程学习要求,复习和掌握算法描述工具--c语言中的指针类型与指针变量、结构类型与结构变量、函数与参数、递归定义和递归函数、动态存储分配、文件操作、程序测试和测试集、测试数据的设计和程序调试等问题。
从这一章中我不仅学到了数据结构的基本概念和基础知识,了解到什么是数据结构,我们为什么要学习数据结构这门课程。而且复习了大一下学期所学的c语言程序课程设计中的算基本法语句。有利于数据结构与算法后面课程的学习。
第二章主要学习顺序表(包括顺序串)数据类型、数据结构、基本算法及相关应用。知识点包括顺序表的概念、数据结构定义、数据类型描述、基本算法的实现及其性能的分析等知识;还有“查找”和“排序”的概念,“查找”包括3种查找方式:简单顺序查找、二分查找、分块查找;“排序”包括直接插入排序、希尔排序、冒泡排序、快速排序、直接选择排序和归并排序(重点为二路归并排序)6种排序方式;掌握应用顺序表来进行查找和排序的各类算法以及不同的查找和排序算法间的性能差异。在此基础上,理解顺序串的相关应用。
从这一章中我学习到各种不同的查找方法和排序方式,其中二分查找作为重点查找方法我进行了重点学习,熟悉并熟练地运用二分查找并且了解到各种排序方法适合于不同的顺序表。对于顺序串的学习,我主要掌握了字符串的基本运算,包括:求串长strlen(s)、连接stract(st1,st2)、求子串substr(s,i,j)、比较串的大小strcmp(s,t)、插入insert(s1,i,s2)、删除delete(s,i,j)、子串定位index(s1,s2)、置换(replace(s1,i,j,s2)、replace(s,t,v)两种)。
第三章主要学习链表(单聊表、循环链表)的概念、数据结构、数据类型描述、基本算法以及链表相关应用。需要掌握各种链表的概念、数据结构定义、基本算法实现以及算法的性能分析等知识,掌握链表的相关应用方法,在此基础上掌握链串的相关知识。
通过这一章我学习了另一种数据结构——链表,在逻辑结构上,链表与顺序表一样,也是线性逻辑结构;单链表借助“地址”的概念,使用了链式存储结构,产生了一种新的数据结构——链表,链表的基本操作是地址运算,在此基础上构成的链表基本算法的特点也就不同,从链表算法的功能看,链表的基本运算与顺序表基本相同,但实现方法和过程与顺序表是不同的,链表可分为静态链表和动态链表两种。这一章我学习到的实际应用是链表的创建、插入和删除等基本操作。循环链表的建立和查询方法。
第四章主要知识点是在两种不同的存储结构下设计的堆栈,即顺序栈和链栈。主要内容是顺序栈和链栈的概念、数据类型、数据结构定义和基本运算算法及其性能分析。通过对本章的学习,要求掌握顺序栈及链栈的数据类型描述、数据结构、基本算法及其性能分析等知识。在此基础上,了解堆栈的相关应用,掌握应用堆栈解决实际问题的思想及方法。
通过对这一章的学习,我了解了堆栈的概念,堆栈的原理、创建方法以及使用方式。“后进先出”是其基本原则。利用堆栈可以轻松方便的解决对称问题以及括号匹配等问题。堆栈与顺序表、链表不同的是,堆栈只能对一端的数据元素进行操作,即只在栈顶进行元素的插入和删除。掌握顺序栈和链表的存储结构是学习堆栈的要素之一。堆栈是一类常用的数据结构,被广泛应用于各种程序设计中。
第五章的重点知识是在顺序存储和链接存储下的两种队列——顺序(循环)队列和链队
列的数据结构、基本运算及其性能分析以及应用。通过本章的学习,要求掌握顺序队列(重点是循环队列)及链队列的概念、数据类型描述、数据结构、基本算法及其性能分析等知识。在此基础上,了解队列的相关应用,掌握应用队列来解决实际问题的思想及方法。
通过这一章的学习,我掌握了队列的定义,概念,创建以及“对头删除”,“队尾插入”的原则。重点了解了判断循环队列空和满的判断条件。同堆栈一样,队列也是一种具有线性逻辑结构、运算受限制的数据结构。与堆栈只在一端(栈顶)进行元素的插入和删除运算不同的是,队列是在对头进行插入,而在队尾完成数据元素的删除,所以队列的算法和适用的应用问题与堆栈有很大的区别。队列作为一类常用的数据结构,被广泛应用于各种程序设计中。
第六章主要学习数组、系数矩阵和广义表的基本概念、集中特殊矩阵的存储结构及基本运算,在此基础上学习特殊矩阵的计算算法与广义表应用等相关问题。通过本章的学习,要求掌握特殊矩阵的压缩存储结构,在该存储结构下元素的定位方法,理解稀疏矩阵的计算和广义表的存储结构及其基本运算。了解矩阵与广义表的相关应用。
通过这章的学习和前几章的比较,我了解到前几章的线性结构中的数据元素都是非结构的原子类型,即每一个元素都是不可再分解的。本章讨论的数组和广义表等数据结构可以看成是在前几章线性结构基础上的一个扩展:组成该数据结构的数据元素本身也是一个数据结构。矩阵计算应该数值计算方面的问题,由于矩阵和数组的关系以及特殊矩阵存储结构的复杂性,进而使得特殊矩阵的存储结构和算法也表现出其特殊性,所以数据机构课程应该解决其计算问题。
第七章的学习重点是二叉树的概念、数据类型、数据结构定义和各种基本算法,在此基础上介绍二叉树的一些应用问题。通过本章的学习,我掌握了二叉树概念及其性质、二叉树的逻辑结构和存储结构等知识,掌握二叉树的建立、遍历、线索化等基本概念和算法及性能分析,能熟练应用二叉树这章结构来解决一些实际问题,如哈夫曼树及哈夫曼编码、查找与排序(二叉树排序)等问题。了解堆栈排序及其算法等知识。二叉树是非线性数据结构,是树形结构的一种特殊形式。在现实生活有许多数据关系可抽象为树或二叉树的形式。本章中的二叉树的概念及其性质、二叉排序树、存储结构、遍线索(化)、基本算法为重点内容,二叉排序树的应用为难点内容。
第八章的学习重点是树和森林的数据结构、基本算法及其性能分析,树和森林与二叉树间的转化算法等,在此基础上介绍树的应用——b-树。通过本章的学习,我掌握了树和森林的概念和性质、数据结构、树的基本算法及性能分析、树与二叉树间的转换及其算法,并能应用b-树来实现数据元素的动态查找。舒适一种非线性结构,它在二叉树的基础上做了更为一般化的扩展,而森林是树的集合。在树结构中,每一个元素最多只有一个前驱,但可能有多个后继。现实生活中的家族关系、单位的组成结构等,均可抽象为树的形式。
第九章学习重点是散列结构的相关知识,学习常用的散列函数和冲突处理方法,散列表的常用算法及其性能分析,通过本章的学习,我掌握了散列结构和散列函数的相关概念,掌握散列结构的存储(散列表)的相关概念,要求掌握散列冲突处理方法(散列法)的相关知识,并能灵活运用散列法解决应用问题。
散列结构是使用散列函数建立数据结点关键字与存储地址之间的对应关系并提供多种当数据节点存储地址发生“冲突”时的处理方法而建立的一种数据结构。散列结构的查找等运算效率是很高的,本章中的散列函数、散列结构、散列表、散列法的基本概念和基本算法是重点,线性探测散列算法、链地址法散列算法和散列法的应用是难点。
第十章的学习重点是图的定义及性质,图的四种存储结构,图的两种遍历算法以及图的典型应用,包括最小生成树、最短路径、拓扑排序和关键路径等。通过本章学习,我掌握了图的概念和基本性质,图的存储结构(邻接矩阵和邻接表)及其基本算法、图的遍历及算法、图的最小生成树普利姆算法或者克鲁斯卡尔算法、图的最短路径迪杰斯特拉算法和弗洛伊德算法、有向无环图拓扑排序算法。了解了图的逆邻接表、十字链表、邻接多重表存储结构及其基本算法、关键路径求解算法,并能灵活运用图的不同的数据结构和遍历算法解决复杂的应用问题。
二.课程学习体会
在学习开始的时候,老师就明确提出它不是一种计算机语言,不会介绍c语言的变成语言,而是通过学习可以设计出良好的算法,高效地组织数据。一个程序无论采用何种语言,其基本算法思想不会改变。联系到在大一和大二上学期学习的c和c++语言,我深刻认识到了这一点。“软件开发好比写作文,计算机语言提供了许多华丽的辞藻,而数据结构则考虑如何将这些辞藻组织成一篇优秀的文章来。”在学习这门课中,要熟悉对算法思想的一些描述手段,包括文字描述、图形描述和计算机语言描述等。因此,计算机语言基础是必须的,因为它提供了一种重要的算法思想描述手段——机器可识别的描述。
这门课结束之后,我总结了学习中遇到的一些问题,最为突出的,书本上的知识与老师的讲解都比较容易理解,但是当自己采用刚学的知识点编写程序时却感到十分棘手,有时表现在想不到适合题意的算法,有时表现在算法想出来后,只能将书本上原有的程序段誊写到自己的程序中再加以必要的连接以完成程序的编写。针对这一情况,我会严格要求自己,熟练掌握算法思想,尽量独立完成程序的编写与修改工作,只有这样,才能够提高运用知识,解决问题的能力。
三.对《数据结构与算法》课程教学的建议
1、建议在上课过程中加大随堂练习的分量,以便学生能当堂消化课堂上学习的知识,也便于及时了解学生对知识点的掌握情况,同时有助于学生上课积极思考,不会开小差。
2、建议在课时允许的情况下,增加习题课的分量,通过课堂的习题讲解,加深对知识点的掌握,同时对各知识点的运用有一个更为直观和具体的认识。
以上便是我对《数据结构与算法》这门课的学习总结,我会抓紧时间将没有吃透的知识点补齐。今后我仍然会继续学习,克服学习中遇到的难关,在打牢基础的前提下向更深入的层面迈进!
数据结构课程感想篇十四
本次课程设计,使我对《数据结构》这门课程有了更深入的理解。《数据结构》是一门实践性较强的课程,为了学好这门课程,必须在掌握理论知识的同时,加强上机实践。
我的课程设计题目是线索二叉树的运算。刚开始做这个程序的时候,感到完全无从下手,甚至让我觉得完成这次程序设计根本就是不可能的,于是开始查阅各种资料以及参考文献,之后便开始着手写程序,写完运行时有很多问题。特别是实现线索二叉树的删除运算时很多情况没有考虑周全,经常运行出现错误,但通过同学间的帮助最终基本解决问题。
在本课程设计中,我明白了理论与实际应用相结合的重要性,并提高了自己组织数据及编写大型程序的能力。培养了基本的、良好的程序设计技能以及合作能力。这次课程设计同样提高了我的综合运用所学知识的能力。并对vc有了更深入的了解。《数据结构》是一门实践性很强的课程,上机实习是对学生全面综合素质进行训练的一种最基本的方法,是与课堂听讲、自学和练习相辅相成的、必不可少的一个教学环节。上机实习一方面能使书本上的知识变“活”,起到深化理解和灵活掌握教学内容的目的;另一方面,上机实习是对学生软件设计的综合能力的训练,包括问题分析,总体结构设计,程序设计基本技能和技巧的训练。此外,还有更重要的一点是:机器是比任何教师更严厉的检查者。因此,在“数据结构”的学习过程中,必须严格按照老师的要求,主动地、积极地、认真地做好每一个实验,以不断提高自己的编程能力与专业素质。
通过这段时间的课程设计,我认识到数据结构是一门比较难的课程。需要多花时间上机练习。这次的程序训练培养了我实际分析问题、编程和动手能力,使我掌握了程序设计的基本技能,提高了我适应实际,实践编程的能力。
总的来说,这次课程设计让我获益匪浅,对数据结构也有了进一步的理解和认
【本文地址:http://www.xuefen.com.cn/zuowen/5560681.html】