随笔- 67
文章- 0
评论- 0
阅读-
12583
随笔分类 - JAVA数据结构
哈希表
摘要:哈希表:(数组和单向链表的结合体) 1.引入: 散列表(Hash table,也叫哈希表),是根据关键码值(关键字,对象的关键属性)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。 散列查找法:(
阅读全文
队列
摘要:队列 (先入先出原则) 如果说链表和顺序表是对数据的存取位置的组织方式,那么队列就是一种对于存取方式限制的组织方式。换一种方式描述的话就是,队列既可以采用链表来表示,也可以采用数组(线性表)来表示,我们限制的是对于存放数据的存取方式。 出从队首出,入插入队尾 队列:只允许在一端进行插入操作,而另一端
阅读全文
图 DFS BFS
摘要:图 线性表和树两类数据结构,线性表中的元素是“一对一”的关系,树中的元素是“一对多”的关系,本章所述的图结构中的元素则是“多对多”的关系。 图是一种非线性数据结构,由顶点(vertex)和边(edge)组成,每条边都连接着两个顶点。 图分为有向图和无向图。 将边带有权值的图称作带权图 图的表示方法:
阅读全文
栈及应用
摘要:栈(stack) 先进后出 栈(stack)又名堆栈,它是一种运算受限的线性表。限定仅在表尾进行插入和删除操作的线性表。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈(PUSH),它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或
阅读全文
全排列
摘要:全排列 1. 交换法: 将要全排列的各个元素放在数组中,然后数组中的元素进行交换 先考虑第一位的情况,依次 考虑剩余位 例如 ; [ A, B ,C] 数组下标;k=0 (第一位) : A[] B[] C[] k=1(第二位):在 A[]这个分支: AB[C] AC[B] k=2(第三位):在 A[
阅读全文
递归
摘要:递归 1. 调用机制 递归就是方法自己调用自己,每次调用传入不同的变量 public class DiGui { public static void main(String[] args) { test(4); } //打印问题 public static void test(int n) { i
阅读全文
单链表
摘要:单链表 先说一下在C语言中的链表: 每个节点包含两个域,存数据元素信息的叫数据域(data域),存储直接后继(下一个节点)的存储位置的叫指针域(next域) 首元结点是指表中存储第一个数据的结点,头结点(head)是在首元结点之前附设的一个结点,其指针域指向首元结点;头指针是指向链表中第一个结点的指
阅读全文