数据结构
文章平均质量分 77
Mr_rainxbow
上学中。码农养成中。java和web修炼中。
展开
-
java实现单链表
package LinkedList; /** * 我的Java单链表练习 * 单链表提供了在列表头的高效插入和删除操作,不过在单链表的末尾的插入操作效率很低. * 单链表指针域保存着下一节点的引用,尾结点的指针域等于null * @author baby69yy2000 */ public class SingleLinkedL转载 2015-01-07 18:40:24 · 364 阅读 · 0 评论 -
03-1. 二分法求多项式单根(PAT)
二分法求函数根的原理为:如果连续函数f(x)在区间[a, b]的两个端点取值异号,即f(a)f(b)二分法的步骤为:检查区间长度,如果小于给定阈值,则停止,输出区间中点(a+b)/2;否则如果f(a)f(b)如果f((a+b)/2)正好为0,则(a+b)/2就是要求的根;否则如果f((a+b)/2)与f(a)同号,则说明根在区间[(a+b)/2, b],令a=(原创 2015-02-11 19:48:21 · 532 阅读 · 0 评论 -
PAT 05-1 List Components (简单DFS与BFS)
刚一拿到这道题把他想的太复杂了明明是长度最大为十的顺序结构就能解决的问题,竟然优先想到用链表。BFS牵扯到一个队列的操作,在这种小规模数据里面 用顺序结构好很多题目如下:For a given undirected graph with N vertices and E edges, please list all the connected原创 2015-02-23 19:46:50 · 638 阅读 · 0 评论 -
图的遍历(BFS、DFS的邻接矩阵和邻接表实现)
当年老师给我们讲这里的时候,讲的真是云里雾里的。。其实画个图就很容易理解的事情,为什么扯那么远我觉得 DFS其实就是树的先序遍历的强化版本BFS是层序遍历的强化只不过 图的实现方式比较多元化 而且不像二叉树有明确的根操作起来相对难一些理论其实很好理解 就是具体操作起来 每次都很晕的样子眼高手低了又。图的遍历是指从图中的任一顶点出发,对图中的所有顶点访原创 2015-02-21 23:21:25 · 4509 阅读 · 0 评论 -
图的存储-邻接表
图的邻接表之前实现的时候,一直有点小问题现在才明白 原来头结点是有内容的,之前一直当做一个标志位置来使用说到底,这就是一种顺式和链式相互结合的储存结构但还是不知其所以然,这个结构相较于邻接矩阵除了空间储存上面有很大优势,还有访问邻接节点方便不明白他还有什么非他不可的理由(其实就是因为自己对链式结构操作不是很熟悉找了个借口。)邻接表(Adjacency Lis原创 2015-02-21 21:38:44 · 931 阅读 · 0 评论 -
图的存储-邻接矩阵
分不清自己这是预习,还是复习了BFS和DFS总算要开始了先复习一下图所谓邻接矩阵(Adjacency Matrix)的存储结构,就是用一维数组存储图中顶点的信息,用矩阵表示图中各顶点之间的邻接关系。假设图G=(V,E)有n 个确定的顶点,即V={v0,v1,…,vn-1},则表示G 中各顶点相邻关系为一个n×n 的矩阵,矩阵的元素为:其中,wij 表示边(v原创 2015-02-21 17:20:21 · 1276 阅读 · 0 评论 -
02-1. Reversing Linked List(PAT 1074)
这题刚开始 以为用顺序表会比较方便结果 到各种转换的时候,才发现用指针会方便很多。推荐大家用顺序结构+指针做。不会出现我这种烦恼。Given a constant K and a singly linked list L, you are supposed to reverse the links of every K elements on L. For ex原创 2015-02-09 17:46:11 · 483 阅读 · 0 评论 -
PAT-1066 Root of AVL Tree(解题报告)
第一次做关于平衡树的题目第一次做的时候 忘记判断是否是空节点第二次做,发现LR平衡自己理解错了对于链式结构理解还是不够深刻,乖乖看书去题目链接 PAT 1066附上关于平衡树的四种旋转操作 代码如下:#includetypedef int ElementType; typedef s原创 2015-02-16 17:11:46 · 711 阅读 · 0 评论 -
中缀表达式转后缀表达式附带求和(C语言实现)
寒假自己又把数据结构翻出来整一遍。一步一步来吧。弄完了上算法导论这题算是云课堂的期末题了贴在下面#include #include #define MAX 50typedef struct { char data[MAX]; int top;}StackA;typedef struct { char data[MAX]; int top;原创 2015-02-07 03:57:58 · 617 阅读 · 0 评论 -
稀疏矩阵的十字链表实现(C语言实现)
又要从头学数据结构了。默默挨个实现一遍实现的功能包括两个矩阵的加减 相乘 还有转置 有点繁琐 凑合看吧#include #include typedef int ElemType;// 稀疏矩阵的十字链表存储表示 typedef struct OLNode{ int i,j; //该非零元的列和下标 ElemType e; //非零元素值 struct O原创 2015-02-06 11:30:10 · 3349 阅读 · 1 评论 -
AVL树的实现(C语言实现)
最近恶补数据结构,不过抱着小侄女实在复习不进去。。。这才复习完树当时对于平衡树就没有一个系统的了解 具体的感念就不贴了,仔细说一说如何调整平衡二叉树如果插入破坏了原有的平衡,“麻烦结点”在发现者右子树的右边,因而叫 RR 插入,需要RR 旋转(右单旋)做如下调整“麻烦结点”在发现者左子树的左边,因而叫 LL 插入,需要LL 旋转(左单旋)原创 2015-02-15 21:09:47 · 983 阅读 · 0 评论