
数据结构
文章平均质量分 77
Mr_rainxbow
上学中。码农养成中。java和web修炼中。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
java实现单链表
package LinkedList; /** * 我的Java单链表练习 * 单链表提供了在列表头的高效插入和删除操作,不过在单链表的末尾的插入操作效率很低. * 单链表指针域保存着下一节点的引用,尾结点的指针域等于null * @author baby69yy2000 */ public class SingleLinkedL转载 2015-01-07 18:40:24 · 381 阅读 · 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 · 556 阅读 · 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 · 671 阅读 · 0 评论 -
图的遍历(BFS、DFS的邻接矩阵和邻接表实现)
当年老师给我们讲这里的时候,讲的真是云里雾里的。 。其实画个图就很容易理解的事情,为什么扯那么远 我觉得 DFS其实就是树的先序遍历的强化版本 BFS是层序遍历的强化 只不过 图的实现方式比较多元化 而且不像二叉树有明确的根 操作起来相对难一些 理论其实很好理解 就是具体操作起来 每次都很晕的样子 眼高手低了又。 图的遍历是指从图中的任一顶点出发,对图中的所有顶点访原创 2015-02-21 23:21:25 · 4577 阅读 · 0 评论 -
图的存储-邻接表
图的邻接表之前实现的时候,一直有点小问题 现在才明白 原来头结点是有内容的,之前一直当做一个标志位置来使用 说到底,这就是一种顺式和链式相互结合的储存结构 但还是不知其所以然,这个结构相较于邻接矩阵除了空间储存上面有很大优势,还有访问邻接节点方便 不明白他还有什么非他不可的理由 (其实就是因为自己对链式结构操作不是很熟悉找了个借口。) 邻接表(Adjacency Lis原创 2015-02-21 21:38:44 · 997 阅读 · 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 · 1328 阅读 · 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 · 502 阅读 · 0 评论 -
PAT-1066 Root of AVL Tree(解题报告)
第一次做关于平衡树的题目 第一次做的时候 忘记判断是否是空节点 第二次做,发现LR平衡自己理解错了 对于链式结构理解还是不够深刻,乖乖看书去 题目链接 PAT 1066 附上关于平衡树的四种旋转操作 代码如下: #include typedef int ElementType; typedef s原创 2015-02-16 17:11:46 · 731 阅读 · 0 评论 -
中缀表达式转后缀表达式附带求和(C语言实现)
寒假自己又把数据结构翻出来整一遍。 一步一步来吧。 弄完了上算法导论 这题算是云课堂的期末题了 贴在下面 #include #include #define MAX 50 typedef struct { char data[MAX]; int top; }StackA; typedef struct { char data[MAX]; int top;原创 2015-02-07 03:57:58 · 640 阅读 · 0 评论 -
稀疏矩阵的十字链表实现(C语言实现)
又要从头学数据结构了。 默默挨个实现一遍 实现的功能包括两个矩阵的加减 相乘 还有转置 有点繁琐 凑合看吧 #include #include typedef int ElemType;// 稀疏矩阵的十字链表存储表示 typedef struct OLNode { int i,j; //该非零元的列和下标 ElemType e; //非零元素值 struct O原创 2015-02-06 11:30:10 · 3450 阅读 · 1 评论 -
AVL树的实现(C语言实现)
最近恶补数据结构,不过抱着小侄女实在复习不进去。。。这才复习完树 当时对于平衡树就没有一个系统的了解 具体的感念就不贴了,仔细说一说如何调整平衡二叉树 如果插入破坏了原有的平衡,“麻烦结点”在发现者右子树的右边,因而叫 RR 插入,需要RR 旋转(右单旋) 做如下调整 “麻烦结点”在发现者左子树的左边,因而叫 LL 插入,需要LL 旋转(左单旋)原创 2015-02-15 21:09:47 · 1012 阅读 · 0 评论