数据结构
清风明月coder
这个作者很懒,什么都没留下…
展开
-
数据结构推荐的书籍
1 严蔚敏 写的数据结构的书 ,伪代码实现。2 高一凡 将 严蔚敏 的伪代码 完全实现了。转载 2015-06-27 11:50:21 · 2561 阅读 · 0 评论 -
最短路径(弗洛伊德算法)
1 原理 ,假设存在一个最简单的连通图2 代码package leaning.graph;/* * * 弗洛伊德算法求最短路径 * * */public class Floyd { // 表示V0顶点到v8顶点的最短路径的值 private int[][] D = new int[9][9];原创 2016-01-09 22:58:32 · 810 阅读 · 0 评论 -
最短路径(迪杰斯特拉算法)
1 构造图2 代码package leaning.graph;/* * 迪杰斯特拉算法求最短路径 * * */public class Dijkstra { // 表示V0顶点到v8顶点的最短路径的值 private int[] D = new int[9]; // 最短路径 private int[] P = new int[9]; //原创 2016-01-09 17:31:19 · 777 阅读 · 1 评论 -
深度优先遍历 java
以下是java代码package Map;public class DepthFirstSearch{ //定点集合 private String points[] = {"A","B","C","D","E","F","G","H","I"}; //是否访问 private boolean visited[] = new boolean[9]; //地图 private in原创 2015-12-20 21:39:05 · 647 阅读 · 0 评论 -
最小生成树之克鲁斯卡尔算法 ( java版)
1 图数据如下二 Java代码package leaning.graph;import java.util.ArrayList;import java.util.List;import leaning.graph.entity.Edge;/* * 克鲁斯卡尔最小生成树 * */public class KruskalMiniCostSpanningTr原创 2016-01-03 21:41:02 · 2600 阅读 · 0 评论 -
最小生成树之prim算法
一 背景二 prim算法java版package leaning.graph;/* * 最小生成树之普里姆算法 * */public class PrimMiniCostSpanningTree { //总权值 private int totalCounter = 0 ; //总权值StringBuffer private StringBuffer s原创 2016-01-03 13:45:48 · 713 阅读 · 0 评论 -
java广度优先遍历
一 广度优先遍历介绍二 java代码package leaning.graph;import java.util.LinkedList;import java.util.Queue;public class BreadthFirstSearch { private String[] nodes = {"A","B","C","D","E","F","G"原创 2016-01-02 17:39:17 · 513 阅读 · 0 评论 -
c 实现哈夫曼编码
1 前言: 这个程序主要是用来实现建立哈夫曼,以及遍历哈夫曼, 关于哈夫曼建立的原理,以及应用请参考《大话数据结构》第200页,6.12 赫夫曼树以及应用 假设有一串英文字符 "ABBCCCCDDDDDDEEEEEEEEFFFFFFFFFGGGGGGGGGGHHHHHHHHHHH" 从这里看每个字符频率出现都不一样,用哈夫曼来进行优化,其中次数分别为:原创 2015-09-04 19:45:35 · 1678 阅读 · 0 评论 -
C实现二叉树的先序遍历,中序遍历,后序遍历
1 要创建的二叉树图 2 输出结果图 : 3 完整代码如下:#include#include//定义二叉树typedef struct BTreeNode{ char name; struct BTreeNode *LBTreeNode; struct BTreeNode *RBTreeNode;}BTreeNode,*PBTreeNode ;原创 2015-08-31 01:16:22 · 1181 阅读 · 0 评论 -
结构体小案例2
#includestruct Sdudent{ char sex; char name[10]; int age;};main(){ struct Sdudent stu1 = {'M',"student1",12}; struct Sdudent * ps1 ; ps1 = &stu1; printf("ps1 %d\n",ps1->age原创 2015-07-21 00:24:16 · 557 阅读 · 0 评论 -
c递归实现 汉诺塔
1 汉诺塔描述: 汉诺塔(又称河内塔)问题是源于印度一个古老传说的益智玩具。大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。大梵天命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上。并且规定,在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘。2汉诺伪算法:当只有一个盘子的时候,只需要从将A塔上的一个盘子移原创 2015-08-27 00:54:30 · 637 阅读 · 0 评论 -
c语言数组方式实现静态循环队列
1 循环队列原理图2 结构体设计3 完整源代码#include#include/* 这是一个c语言用数组方式实现循环队列程序 time : 2015-08-23 by paul*/typedef struct Queue{ int length; //数组长度 int *pbase; //数组 int head;//int类原创 2015-08-23 23:12:13 · 1095 阅读 · 0 评论 -
c实现出栈入栈功能
1 原理图2 最后的效果图3 完整代码如下:#include#includetypedef struct Node{ int data; struct Node * pNext;}Node,*PNode;typedef struct Stack{ PNode pbottom; PNode ptop;}Stack,*PS原创 2015-08-23 15:50:30 · 602 阅读 · 0 评论 -
KMP算法 java版本
1 原理 参考 《大话数据结构》第5章 串 的第5.7小节 : KMP模式匹配算法2 java代码 KMP.javapackage leaning.string.KMP;public class KMP { public static int indexKMP(String source, String target,int pos) { /* i原创 2016-02-21 17:18:47 · 477 阅读 · 0 评论