欢迎来到一句话经典语录网
我要投稿 投诉建议
当前位置:一句话经典语录 > 心得体会 > 数据结构设计题心得体会

数据结构设计题心得体会

时间:2020-05-14 15:36

学习数据结构的心得体会

数据结构学习体会及教学建议时间过的很快,一转眼一学期的数据结构课程就已经快要告一段落了,在接触这么课以前,我觉得编程无非就是会写代码就好了。

然而事实上数据结构对于程序来说,有着非常重要的地位。

随着计算机应用领域的不断扩大,非数值计算的问题占据了当今计算机应用的绝大部分,简单的数据类型已经远远不能满足需要,个数据元素之间的复杂关系已经不是普通数学方程式能够表达的了,所以数据结构就扮演了十分重要的角色。

在学期初,我觉得数据结构还是比较简单的,但可能由于之前c语言学习对指针掌握的不够熟练,导致在数据结构中接触到与指针有关的问题,例如线性表,堆栈,队列,二叉树等问题的时候,都会显得有些吃力。

但是在不断学习数据结构的过程中我也不断加强了对指针的学习,现在我已经能够基本掌握指针的相关知识并且能够熟练运用了。

这一学期的学习下来我发现想要学好数据结构有以下几点经验{虽然可能我的数据结构学的并不是很好}1.初步了解算法思想、原理想要弄清楚一个算法的实现,首先要知道这个算法的大致原理,这是最简单的一步,也是最基础的一步,只有明白算法想要干什么,才能弄清楚相应的代码段是为什么2.钻研课本代码段对于书上的算法代码,我们一定要仔细钻研每一步的具体含义和目的,在此基础上深入的了解算法的实现过程,而不是一味的四级硬背,不仅无聊,而且效率低下。

3.查找各种算法资料例如排序算法,其实历史上有很多不同的排序算法,书上

数据结构心得体会

首先你要认识到数据结构是个什么东西,然后就自然就会用了哦

c++数据结构课程设计总结怎么写(最好是三段的)

把邮箱给我,给你发过去

c语言实训报告中什么是数据结构设计描述

\\\/\\\/先来贴一个二叉树的,等下再贴猴子选大王(这是一个递归算法,挺好玩的)class BinaryTree{ class Node { private int data; \\\/\\\/保存数据内容 private Node left; \\\/\\\/左子树 private Node right;\\\/\\\/右子树 public Node(int data){ this.data = data; } public void addNode(Node newNode){ \\\/\\\/addNode方法用来添加数据 if(newNode.data <= this.data){ if(this.left == null){ \\\/\\\/左子树为空 this.left = newNode; }else{ this.left.addNode(newNode);\\\/\\\/继续向下判断 } } if(newNode.data > this.data){ if(this.right == null){ \\\/\\\/右子树为空 this.right = newNode; }else{ this.right.addNode(newNode);\\\/\\\/继续向下判断 } } } \\\/\\\/addNode方法结束 public void printNode(){ \\\/\\\/采用中序遍历(左-根-右) if(this.left != null){ this.left.printNode(); } System.out.println(this.data); \\\/\\\/找到根内容 if(this.right != null){ this.right.printNode(); } } } \\\/\\\/Node类结束 private Node root; \\\/\\\/根节点 public void add(int data){ Node newNode = new Node(data); if(this.root == null){ this.root = newNode; }else{ this.root.addNode(newNode); } } public void print(){ this.root.printNode(); }}public class Demo{ public static void main(String args[]){ BinaryTree bt = new BinaryTree(); bt.add(3); bt.add(4); bt.add(0); bt.add(1); bt.print(); }}\\\/\\\/再来贴一个猴子选大王的代码:import java.util.*;class M{ private int monkey; private int kill; private List list; public M(int monkey,int kill){ this.list = new ArrayList() ; this.monkey = monkey ; this.kill = kill ; for(int i=1;i<=this.monkey;i++){ list.add(i);\\\/\\\/把猴子装进list } killMonkey(list,kill); } public void killMonkey(List list,int kill){\\\/\\\/通过递归调用,将猴子删除 for(int i=0;i1){ killMonkey(list,kill); }else{ System.out.print(猴子王为:+list.get(0)); } }}public class Demo{ public static void main(String[] args)throws InputMismatchException { Scanner in = new Scanner(System.in); int monkey=0; int kill=0; System.out.print(请输入猴子的总数M:); if(in.hasNext()){ try{ monkey = in.nextInt(); System.out.print(请输入间隔数N:); kill = in.nextInt(); }catch(InputMismatchException e){ System.out.println(必须输入数字); System.exit(0);\\\/\\\/退出程序 } } if( monkey != 0 && kill != 0 && monkey>kill){ M m=new M(monkey,kill); }else if( monkey==0 || kill ==0 || monkey == kill){ System.out.println(输入不能为零,M不能等于N值); }else{ System.out.println(M值必须大于N值!); } }}

声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。联系xxxxxxxx.com

Copyright©2020 一句话经典语录 www.yiyyy.com 版权所有

友情链接

心理测试 图片大全 壁纸图片