数据结构
Jung_zhang
这个作者很懒,什么都没留下…
展开
-
初探数据结构之“树”的定义和二叉树定义及性质
这周学习了数据结构中的树,看了郝斌的数据结构视频。。。虽然讲的很浅很浅但是对于我这么笨的人来说刚好能看懂。又通过小组学姐的讲解对树有了一个初步的认识,现在将学到的知识总结一下=、= 一、树的定义 树是由n(n>=0)个节点构成的有限集合,n = 0时称为空树。在任意一颗非空树中: 1)、有且只有一个根节点 2)、除根节点以外,其余节点原创 2015-08-02 10:07:00 · 975 阅读 · 0 评论 -
用链表实现一元多项式的加、减、乘、求导运算
在数据结构线性表的链表学习中有一个很有趣的题目:计算两个多项式的加、减、乘和多项式的导数。 题目不难,将多项式的系数和指数存进链表,然后进行相应操作即可。 一、加法: 1、判断指数是否相等,若相等则将系数相加,相加后不为零就开辟新空间,将新的系数存入结点,尾插进新链表中。 2、如果表达式1的指数小于表达式2的指数,就将表达式1的该结点数据复制进新结点中,并将新结点尾原创 2015-09-09 15:27:54 · 8785 阅读 · 5 评论 -
递归与非递归实现走迷宫算法
●问题描述: 给出一个矩阵,其中0表示通路,1表示墙壁,这样就形成了一个迷宫,要求编写算法求出其中一条路径。●递归思路: 编写一个走迷宫函数,传入二位数组的下标,先假设该点位于最终路径上(将0置为2)再探测周围四个点是否可以走通(是否为0),如果可以走通则将该点四周能走通的点作为函数参数传入函数进入递归。若四周均不能走通(都不为0时)则将该点置回0表示该点不是最终路径上的点。原创 2015-10-09 20:48:04 · 13319 阅读 · 1 评论 -
图算法之最小生成树(Kruskal)
所谓最小生成树是指:给定一个无向图G={V,E},用集合{u,v}∈E表示从u到v的边,w(u,v)表示从u到v的权值,若{u,v}集合中所有元素权值之和最小且没有构成回路,则称集合{u,v}为该图的最小生成树。举个例子,如下图所示的连通图中,其中的一个最小生成树为边:(A,C)、(A,D)、(D,B)、(D,F)、(B,E)、(E、G)组成的树。最小生成树在现实生活中的应原创 2016-03-26 13:15:55 · 1093 阅读 · 0 评论 -
中缀表达式求值
所谓表达式的求值就是从键盘上输入一个四则运算表达式按下Enter后在屏幕上输出表达式的结果。表达式的求值在计算机的应用中非常广泛,例如编译器中对所写的程序表达式的编译等。它也是数据结构课程中栈这一章节中非常重要的一个算法,通过实现这个算法可以更好的掌握和理解栈的相关操作。中缀表达式是指运算符在运算数的中间,计算中缀表达式时需要用到两个栈:数字栈和运算符栈。在整个中缀表达式求值的过程中主要涉原创 2016-03-26 13:24:26 · 4280 阅读 · 2 评论 -
链表中一些有趣的小题目总结
1、单链表中间结点问:如何快速查找定位到一条单链表的中间结点?答:(1)、可以将链表中的所有结点遍历一遍得到总个数,再查找到中间结点(这不废话嘛,这么low的答案就不拉出来献丑了=、=)(2)、可以使用快慢指针法,一个指针一倍速率遍历,另一个指针两倍速率遍历链表,当第一个走到末尾时第二个则刚好在中间位置代码:NODE *Search(NODE *pHead)原创 2016-03-28 23:45:09 · 794 阅读 · 0 评论