![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
红豆和绿豆
这个作者很懒,什么都没留下…
展开
-
算法可视化开源项目
算法原创 2022-12-26 08:29:29 · 136 阅读 · 0 评论 -
B树、B+树、B*树
http://blog.csdn.net/v_JULY_v/article/details/6530142从B 树、B+ 树、B* 树谈到R 树 作者:July、weedge、Frankie。编程艺术室出品。说明:本文从B树开始谈起,然后论述B+树、B*树,最后谈到R 树。其中B树、B+树及B*树部分由weedge完成,R 树部分由Frankie完成,全文最终由July统稿修订转载 2015-10-15 13:04:22 · 368 阅读 · 0 评论 -
字符串表达式的计算java版本
package expressiontree;import java.util.Stack;/* * yy * 输入字符串表达式 输出计算结果 * 写了将近2个小时,这个逻辑真是醉了 * 目前只能接受整数,如果想要实现浮点数 则需要增加一个判读字符是浮点数的函数,其他的函数不变 * */public class MyCalculator {原创 2015-10-14 15:42:36 · 698 阅读 · 0 评论 -
字典树java版本
package trietree;/* * 字典树的基本数据结构 * 字典树的性质: * 1:根节点无数据 * 2:除了根节点,每个节点都只有一个元素 * 3:从根节点到叶节点是一个完成的单词,每一个节点的子节点没有重复的 * */public class TrieNode {private int num;//当前节点出现的次数private Tr原创 2015-10-13 15:32:35 · 504 阅读 · 2 评论 -
循环双链表的插入和删除的一些基本操作java版
package doublelinkedlistwithcycleandsentry;/* *双向循环链表的结构 *author yy * */public class DNode> implements Comparable> {private T data;private DNode pre;private DNode next;pu原创 2015-10-10 09:45:24 · 752 阅读 · 0 评论 -
链表的各种操作java版本
package singleList;import java.util.Stack;/* * yy * 1:单链表的插入从头开始进行插入 * 2:查询某个元素 * 3:删除某个元素 * 4:查找单链表的中间结点快速的方法 * 5:将单链表逆转 * 6:将链表倒置输出 * 7:单链表的长度是多少 * 8:合并两个有序的单链表head1和he原创 2015-10-09 13:09:43 · 443 阅读 · 0 评论 -
双链表的操作java版本
package doublelinkedlist;/* *双向链表的结构 *yy * */public class DNode> implements Comparable> {private T data;private DNode pre;private DNode next;public DNode(){} pub原创 2015-10-09 15:31:43 · 397 阅读 · 0 评论 -
带环的链表
单链表的问题在面试考试等等等等中频频上镜,大有赶上凤姐超越芙蓉之势。假若有一个蛋疼的程序猿把单链表的末尾结点的next指针指向了单链表中一个随机的结点上,那么我们经常写的一个循环while(p)或者while(p->next)就可以父传子子传孙子子孙孙无穷尽了。 话说怎么判断单链表是否带环了呢?大部分人都知道了:让快指针追慢指针,追上了就有环,快指针走到头了,就无环。 那么又如原创 2015-10-08 16:05:02 · 514 阅读 · 0 评论 -
带哨兵的单链表的操作java版本
package singlelistwithsentry;public class Node> implements Comparable> {private T data;private Node next;public Node(){}public Node(T data) {this.data = data;this.next=原创 2015-10-09 13:40:55 · 735 阅读 · 0 评论 -
判断两个链表是否相交并找出交点
一个比较经典的问题,判断两个链表是否相交,如果相交找出他们的交点。思路:1、碰到这个问题,第一印象是采用hash来判断,将两个链表的节点进行hash,然后判断出节点,这种想法当然是可以的。2、当然采用暴力的方法也是可以的,遍历两个链表,在遍历的过程中进行比较,看节点是否相同。3、第三种思路是比较奇特的,在编程之美上看到的。先遍历第一个链表到他的尾部,然后将尾转载 2015-10-09 09:35:23 · 907 阅读 · 0 评论 -
红黑的插入java版本
public class RBTree { private final Node NIL = new Node(null,null,null,Color.BLACK,-1); private Node root; public RBTree() { root = NIL; }原创 2015-10-03 20:04:15 · 427 阅读 · 0 评论 -
平衡二叉树各种操作java版本
package avlbinarytree;import java.util.Stack;public class AVLSortTree> {private AVLNode root;public AVLSortTree() {}public AVLSortTree(AVLNode root) {this.root = root;}原创 2015-09-28 09:02:07 · 655 阅读 · 0 评论 -
红黑树的插入删除完整版以及java版本
原理 请看算法导论的红黑树的讲解,我是按照图的编写实现java的版本package rbtree;public class RBTree { private final Node NIL = new Node(null,null,null,Color.BLACK,-1); private Node root; p原创 2015-10-06 10:54:23 · 792 阅读 · 0 评论 -
二插排序树各种算法
package binarySortTree;public class SNode> implements Comparable>{private T data;private SNode lchild;private SNode rchild;public SNode(T data, SNode lchild, SNode rchild) {th原创 2015-09-25 09:52:26 · 586 阅读 · 0 评论 -
二叉树的基本操作
package binaryTree;/* * * 1、二叉树的先序创建2、二叉树的递归先序遍历3、二叉树的非递归先序遍历4、二叉树的递归中序遍历5、二叉树的非递归中序遍历6、二叉树的递归后序遍历7、二叉树的非递归后序遍历8、二叉树的层次遍历 * */public class Node {原创 2015-09-23 16:14:29 · 819 阅读 · 0 评论 -
中序线索二叉树的java版本
package threadbinarytree;public class ThreadNode {private ThreadNode leftNode;private ThreadNode rightNode;private int lflag;private int rflag;private T data;public ThreadNode(Thre原创 2015-09-29 16:37:54 · 558 阅读 · 0 评论 -
huffman的编码java版
package huffman;//哈夫曼树的结点类public class HaffNode { int weight; //权值 int parent ;//他的双亲 int flag ;//标志,是否为叶子节点 int leftChild; //他的左孩子 int rightChild;//他的右孩子原创 2015-10-06 14:57:15 · 562 阅读 · 0 评论