
数据结构
卡卡西CC
疾如风徐如林侵掠如火不动如山~~~
展开
-
数据结构④-链表
链表最大优势是插入删除比较方便其实链表也是一种灵活的数据结构,没有想象的那么复杂public class LinkList { private Node first; private LinkList(){ first = null; } class Node{ T data; Node next; public Node(){} public Nod原创 2014-01-07 20:36:52 · 893 阅读 · 0 评论 -
数据结构那些事儿
【声明】并非原创,根据网上帖子中的讨论整理而成。源帖地址:http://bbs.youkuaiyun.com/topics/390308007【楔子】一个好的问题往往能引起大家不论从深度上还是广度上的各种思维、各路讨论,所谓百家争鸣 百花齐放 思维爆炸 头脑风暴就是如此。所以有时候问题的答案不重要,重要的是思考问题的过程。【正文】题目:数组中有重复数据,求出每个数据出现的次数并转载 2012-12-19 18:44:03 · 726 阅读 · 0 评论 -
【算法系列-3】链表
待补充转载 2016-08-23 10:54:39 · 361 阅读 · 0 评论 -
【算法系列-4】二叉树
详见-->>>>http://blog.youkuaiyun.com/kakaxi_77/article/details/51898746【C-step by step③】-二叉树转载 2016-08-23 10:55:55 · 317 阅读 · 0 评论 -
数据结构那些事儿(二)
说明:这是转载的。前一篇见:http://blog.youkuaiyun.com/kakaxi_77/article/details/8333009题目:数组中有重复数据,求出每个数据出现的次数并按照次数的由大到小排列出来题目还是老题目,曲不离口,拳不离手,卖油翁2015:1.二维数组/*** Program Name:* Description: 数组中有重复转载 2015-05-03 20:56:28 · 492 阅读 · 0 评论 -
数据结构①-数组
数组是最常用的数据结构,没有理由用不好此种数据结构。1 一维数组以冒泡算法为例public int[] bubbleSort(int[] array){ for(int i=0; i<array.length -1; i++){ for(int j=0; j<array.length -1 -i; j++){ int temp =0; if(array[j] > ar原创 2013-12-30 20:08:31 · 787 阅读 · 0 评论 -
数据结构-链表(双端链表)-2015
链表是继数组之后第二种使用得最广泛的通用存储结构。链表机制灵活,用途广泛,可以取代数组,作为其他存储结构的基础,例如栈、队列。ADT:抽象数据类型链表的优点:①插入和删除速度很快②数组的大小是固定的,而链表不是双端链表:单链表是对头部节点的引用,在头部插入,头部删除;双端链表的特性是增加了对最后一个节点的引用。代码:节点类public cla转载 2015-03-05 21:52:16 · 1296 阅读 · 0 评论 -
数据结构-队列(循环)-2015
循环队列,重点是队空 或 队满 的判断。/** * 循环队列,重点是队空 或 队满 的判断 */public class QueueDemo { private static int maxSize = 5; private Object[] array; private int front; //队头 private int rear; //队尾转载 2015-03-04 22:38:30 · 539 阅读 · 0 评论 -
数据结构-栈-2015
2015 另一个版本public class StackDemo { private static final int LENGTH = 3; private Object[] objArr = new Object[LENGTH];// private static int size = 0; private int top = -1; public StackDemo(){转载 2015-03-03 22:29:45 · 452 阅读 · 0 评论 -
数据结构 ⑦-树III
树的高级课程红黑树红黑树的查找、插入和删除的时间复杂度为O(log2N)AVL树Adelson-Velskii 和 LandisAVL树查找的时间复杂度为O(logN)AVL树不如红黑树效率高,也不如红黑树常用。转载 2014-02-06 09:43:10 · 656 阅读 · 0 评论 -
数据结构⑥-树II
应用拓展1 求字符串中出现最多的字母及次数2 人力资源系统a 删除时置标志位b 节点增加上级引用原创 2014-02-06 09:30:39 · 628 阅读 · 0 评论 -
数据结构⑤-树I
非原创仅供自己学习用寻找后继节点的算法:待删除节点的右子节点,然后一路向左。删除有两个子节点的树节点【步骤】①把后继父节点的leftChild字段设置为successor的右子节点②把successor的rightChild字段置为待删除节点的右子节点③把delNode从它父节点的rightChild字段移除,把这个字段置为successor④把delNod转载 2014-01-12 23:12:48 · 839 阅读 · 0 评论 -
数据结构③-队列
不重复发明轮子,自娱自乐。本文大部分来自转载原地址:http://blog.youkuaiyun.com/lcore/article/details/8868078public class QueueDemo { private T[] data; private int size; //元素个数 private int front; //队头 pri转载 2014-01-07 20:11:54 · 682 阅读 · 0 评论 -
数据结构②-栈
闲言碎语不多讲,上代码注意 ensureCapacity 方法import java.util.Arrays;public class StackDemo { private Object[] array; private int elementCount; private StackDemo(){ this(10); elementCount = 0; }原创 2014-01-07 19:32:51 · 804 阅读 · 1 评论 -
数据结构-树
为什么使用到二叉树?因为他通常结合了另外两种数据结构的优点。1>在有序数组中插入数据太慢。2>在链表中查找太慢。 用树解决问题要是有一种数据结构,既能像链表那样快速的插入和删除,又能像有序数组那样快速的查找,那样就好了。树实现了这些特点,成为最有意思的数据结构之一。 树顶端的节点称之为“根”,一棵树只有一个根。从根到其他任何一个节点都必须有一条,而且只有一条路径。转载 2011-12-04 17:12:30 · 641 阅读 · 0 评论 -
数据结构-队列
public class MyQueue { private Object[] obj={}; private int rear = 0; private int head = 0; public MyQueue(int size){ obj = new Object[size]; } public boolean add(Object o){ if(rear < obj.le转载 2011-12-01 14:09:34 · 820 阅读 · 0 评论 -
数据结构-栈
public class MyStack2 { private Object[] obj ={}; private int length =0; public MyStack2(int size){ obj = new Object[size]; } public void push(Object o){ if(null == o) return; if(length >ob转载 2011-11-30 17:16:43 · 513 阅读 · 0 评论 -
红黑树和他的小伙伴们
声明:这是转载的在普通二叉树中查找,插入,删除数据项都很快,但是当插入的数据都是有序数据时,二叉树就是非平衡的了,极端情况是为链表;查找速度下降到0(N) 而不是平衡树的O(logN)。【红黑规则】①每一个节点不是红色的就是黑色的。②根总是黑色的。③如果节点是红色的,则他的子节点必须是黑色的(反之不一定必须为真)。④从根到叶节点或空子节点的每条路径,必须包含相同转载 2015-03-22 21:26:56 · 737 阅读 · 0 评论