
数据结构
iteye_10809
这个作者很懒,什么都没留下…
展开
-
数据结构-Hash
定义:关键字和存储位置的所构成的一张表 确定的对应关系:记录的存储位置<---->关键字 对应的关系f就是哈希函数:f(k) 哈希函数是一个映像:是构造哈希函数的方法,将关键字集合映像到某一个地址集合,简而言之,就是把关键字转换成数组下标。 直接地址法: 哈希地址:直接取得关键字或者关键字的线性函数 即这个关键字就可以直接找到地址 H(Key)=key Or H(Key...原创 2014-06-14 23:11:07 · 108 阅读 · 0 评论 -
单向链表
单链表: 单链表是一种链式存取的数据结构,用一组地址任意的存储单元存放线性表中的数据元素。链表中的数据是以节点来表示的,每个节点的构成:元素(数据元素的映象) + 指针(指示后继元素存储位置),元素就是存储数据的存储单元,指针就是连接每个节点的地址数据。 package com.dataStructure.linearTable.singleLinearTable; public cl...原创 2014-06-15 09:02:34 · 77 阅读 · 0 评论 -
双向链表
双向链表:双向链表也叫双链表,是链表的一种,它的每个数据结点中都有两个指针,分别指向直接后继和直接前驱。所以,从双向链表中的任意一个结点开始,都可以很方便地访问它的前驱结点和后继结点。 package com.dataStructure.linearTable.doubleLinearTable; public class Student { private int id; pr...原创 2014-06-15 09:08:42 · 97 阅读 · 0 评论 -
数据结构-栈
栈: 一个先入后出的有序序列(First In LastOut) 限制线性表中的插入和删除只在同一端进行,允许插入和删除的一段叫做栈顶(Top),另外一段叫做栈底(Bottom),所以最先放入的元素在栈底,最后放入的元素在栈顶。 总有一个变量指向栈顶,如果栈为空,那么栈顶变量下标为-1. 常用的场景: 1)子程序的调用,在跳往子程序之前,会将下一个指令的地址存到堆栈中,直到子程序...原创 2014-06-15 18:26:39 · 97 阅读 · 0 评论 -
数据结构-队列
队列:含义:一个只能在队首进行删除,队尾进行插入的线性表,其特征是先进先出。链式队列:入队列:在对位插入出队列:在对头删除循环队列: 出现的原因是有可能发生满对列但是他又确实不是满的情况 package com.dataStructure.queue; import java.util.Arrays; public class MyQueue { private stat...原创 2014-06-15 20:26:04 · 131 阅读 · 0 评论 -
数据结构-二叉树
树:n个节点的有限集 在非空树中,有且仅有一个根节点(Root) 当N>1时,其余节点分为m个互不相交的有限集,T1,T2… Tm. 节点的度:节点拥有的子树 叶子节点:度为0的节点(没有子节点) 分支节点:度不为0的节点(还有子节点) 树的度:树内各个节点的度的最大值(有的节点度为0,1,2,3) 那么树的度应该为3 孩子:节点子树的根 兄弟:同一父亲的孩子 堂兄弟:...原创 2014-06-21 10:29:04 · 111 阅读 · 0 评论 -
数据结构-哈夫曼树
哈夫曼树:最优树,带权路径长度最短的树 概念:路径:从树中一个节点到另外一个节点之间的分支构成连个节点之间的路径,如上图:R到D之间的路径为2,R到H之间路径为3路径长度:路径上分支的数目树的路径长度:从树根到每一个节点的路径长度之和比如R到A,B,C,D,E,F,G,H,K路径长度之和18树的带权路径长度:树中所有叶子节点的带权路径路径长度之和:WPL=∑_(k-1)^n▒WkLk 其中Wk...原创 2014-06-21 12:54:07 · 134 阅读 · 0 评论