
学习数据结构的心得体会
数据结构学习体会及教学建议时间过的很快,一转眼一学期的数据结构课程就已经快要告一段落了,在接触这么课以前,我觉得编程无非就是会写代码就好了。
然而事实上数据结构对于程序来说,有着非常重要的地位。
随着计算机应用领域的不断扩大,非数值计算的问题占据了当今计算机应用的绝大部分,简单的数据类型已经远远不能满足需要,个数据元素之间的复杂关系已经不是普通数学方程式能够表达的了,所以数据结构就扮演了十分重要的角色。
在学期初,我觉得数据结构还是比较简单的,但可能由于之前c语言学习对指针掌握的不够熟练,导致在数据结构中接触到与指针有关的问题,例如线性表,堆栈,队列,二叉树等问题的时候,都会显得有些吃力。
但是在不断学习数据结构的过程中我也不断加强了对指针的学习,现在我已经能够基本掌握指针的相关知识并且能够熟练运用了。
这一学期的学习下来我发现想要学好数据结构有以下几点经验{虽然可能我的数据结构学的并不是很好}1.初步了解算法思想、原理想要弄清楚一个算法的实现,首先要知道这个算法的大致原理,这是最简单的一步,也是最基础的一步,只有明白算法想要干什么,才能弄清楚相应的代码段是为什么2.钻研课本代码段对于书上的算法代码,我们一定要仔细钻研每一步的具体含义和目的,在此基础上深入的了解算法的实现过程,而不是一味的四级硬背,不仅无聊,而且效率低下。
3.查找各种算法资料例如排序算法,其实历史上有很多不同的排序算法,书上
数据结构实习报告怎么做
其实书上就有的,清华大学严蔚敏编的那本,我这有不是很成熟的一个,仅供借鉴 题目:一元稀疏多项式计算器 班级:0307XX班 姓名:XXX 学号:0307XXXX 完成日期:2009-5-9 一、需求分析 (1) 输入的形式和输入值的范围 输入的形式: 先输入两个多项式的项数n; 然后从第1项开始,分别输入多项式各项的系数和指数;: (先输入系数,后输入指数): 输入想要做的多项式运算类型: 输入值的范围:多项式各项的系数没有特殊要求,但是指数应该为正数 (2) 输出的形式 程序会自动输出两个一元稀疏多项式(序列按指数升序排列) 根据所选择的多项式运算类型,做出相应的数学运算,并且输出运算结果:一元稀疏多项式 (序列按指数降序排列) (3) 程序功能 多项式的基本运算类型:加法、减法、乘法 (4) 测试数据 (见测试结果) 二、概要设计 抽象数据类型的定义 typedef struct LNode { float coef; int expn; LNode* next; }term, *link; typedef struct { link head,tail; int len; }polynomial,* Lpoly; 三、详细设计 建一个空的表 int InitList( polynomial &p) \\\/\\\/建一个空的表 { link h; h=(link)malloc(sizeof(term)); if(!h) return ERROR; p.head=p.tail=h; h->next=NULL; p.len=0; return 1; } 判断是否有指数相同的节点 link LocateElem(polynomial p,term e) \\\/\\\/判断是否有指数相同的节点 { link ha; ha=p.head->next; int n=p.len; while(n) { if(e.expn==ha->expn) return ha; ha=ha->next; n--; } return 0; } 判断第一个比e大的节点 link LocateElem2(polynomial p,term e) \\\/\\\/判断第一个比e大的节点 { link ha; ha=p.head; int n=p.len; while(n) { if(e.expn
F.问题: C++ 中编译出错信息: left operand must be l-value 解决方法: l-value应该是个left-value,也就是左值,只有变量和看作指针的内存空间可以被看作是左值 (2)经验与体会 A.在线性链表中进行遍历操作的两种常用控制手段: a. 利用该线性链表的长度 L.length b. 利用该线性链表的尾指针 NULL B.在书写程序时,应该注意 return 语句在程序中的位置,因为在顺序结构中一旦使用到了 return 语句,return 语句后面的所有程序代码都无法再执行. C.在对线性链表的操作中, 如果是加工型操作,则需要在形参列表中用引用传递的方式返回该线性链表 L; 如果是引用型操作,则不需要在形参列表中用引用传递的方式返回该线性链表 L; D.在程序调试过程中,如果发现许多地方犯了同一类错误,则应该一次性将这一类错误全部调试好,这样可以提高程序调试的效率 E.返回链表类型的数据元素应该是链表结点,而不是该链表结点中的数据域 data 五、用户使用说明 本程序操作步骤: (1) 初始化多项式P1 输入多项式 P1 的项数; 然后从第1项开始,分别输入多项式各项的系数和指数(先输入系数,后输入指数); 程序会自动输出该一元稀疏多项式P1 (序列按指数升序排列) (2) 初始化多项式P2 输入多项式 P2 的项数; 然后从第1项开始,分别输入多项式各项的系数和指数(先输入系数,后输入指数); 程序会自动输出该一元稀疏多项式P2 (序列按指数升序排列) (3) 输入想要做的多项式运算类型: 相加 1 相减 2: (4)本程序会自动根据所选择的多项式运算类型,做出相应的数学运算,并且输出运算结果:一元稀疏多项式 (序列按指数升序排列) 六、测试结果 键盘输入与屏幕输出: A 请输入p1的数目:3 (输入值) 请输入p的系数和指数: 1 3 4 6 7 9 该一元稀疏多项式输出即为(序列按指数升序排列): X^3+4X^6+7X^9 请输入p2的数目:5 (输入值) 请输入p的系数和指数: 2 5 8 9 87 7 8 5 2 47 该一元稀疏多项式输出即为(序列按指数升序排列): 10X^5+87X^7+8X^9+2X^47 相加 1 相减 2: 1 (输入值) 多项式的和: 该一元稀疏多项式输出即为(序列按指数升序排列): X^3+10X^5+4X^6+87X^7+15X^9+2X^47 Press any key to continue B 请输入p1的数目:3 请输入p的系数和指数: 1 3 4 6 7 9 该一元稀疏多项式输出即为(序列按指数升序排列): X^3+4X^6+7X^9 请输入p2的数目:4 请输入p的系数和指数: 6 5 6 5 8 9 5 526 该一元稀疏多项式输出即为(序列按指数升序排列): 12X^5+8X^9+5X^526 相加 1 相减 2: 2 多项式的差: 该一元稀疏多项式输出即为(序列按指数升序排列): X^3-12X^5+4X^6+X^9-5X^526 Press any key to continue 七、附录 带有注释的源程序(见源程序文件) 那是相当麻烦啊。
。
。
。
这个还是比较不麻烦的,书上还有用伪代码的。
。
。
学习数据结构的心得体会
数据结构学习体会及教学建议时间过的很快,一转眼一学期的数据结构课程就已经快要告一段落了,在接触这么课以前,我觉得编程无非就是会写代码就好了。
然而事实上数据结构对于程序来说,有着非常重要的地位。
随着计算机应用领域的不断扩大,非数值计算的问题占据了当今计算机应用的绝大部分,简单的数据类型已经远远不能满足需要,个数据元素之间的复杂关系已经不是普通数学方程式能够表达的了,所以数据结构就扮演了十分重要的角色。
在学期初,我觉得数据结构还是比较简单的,但可能由于之前c语言学习对指针掌握的不够熟练,导致在数据结构中接触到与指针有关的问题,例如线性表,堆栈,队列,二叉树等问题的时候,都会显得有些吃力。
但是在不断学习数据结构的过程中我也不断加强了对指针的学习,现在我已经能够基本掌握指针的相关知识并且能够熟练运用了。
这一学期的学习下来我发现想要学好数据结构有以下几点经验{虽然可能我的数据结构学的并不是很好}1.初步了解算法思想、原理想要弄清楚一个算法的实现,首先要知道这个算法的大致原理,这是最简单的一步,也是最基础的一步,只有明白算法想要干什么,才能弄清楚相应的代码段是为什么2.钻研课本代码段对于书上的算法代码,我们一定要仔细钻研每一步的具体含义和目的,在此基础上深入的了解算法的实现过程,而不是一味的四级硬背,不仅无聊,而且效率低下。
3.查找各种算法资料例如排序算法,其实历史上有很多不同的排序算法,书上
数据结构心得体会
嘿嘿给你个方法吧内容百度文库:数据结构实验报告字体字号自己弄吧
数据结构心得体会
首先你要认识到数据结构是个什么东西,然后就自然就会用了哦



