摘要:
二分查找(又称折半查找) 1. 适用场景:顺序存储结构且按有序排列 2. 查找过程: 首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表分成前、后两个子表,如果中间位置记录的关键字大于查找关键字,则进一步查找前一子表,否则进一 阅读全文
摘要:
图 线性表和树两类数据结构,线性表中的元素是“一对一”的关系,树中的元素是“一对多”的关系,本章所述的图结构中的元素则是“多对多”的关系。 图是一种非线性数据结构,由顶点(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 阅读全文
摘要:
Map集合的key和Set集合存储元素的特点相同(无序,不可重复),Map集合的key,就是一个Set集合,往Set集合中放数据,实际上放到Map集合的key部分 1. Hashtable类的子类是Properties 了解Hashtable类:实现Map接口,底层采取了哈希表这种数据结构,是线程安 阅读全文
摘要:
Map接口实现类之一:HashMap集合 1. 底层是哈希表/散列表的数据结构 哈希表:是一个一维数组,这个数组中的每一个元素是一个单向链表(是数组和单向链表的结合体) /*源代码: * public class HashMap<K,V>{ * //1. HashMap的底层是一个一维数组 * tr 阅读全文
摘要:
Collection 接口的子类型: Set 接口:无序(存进和取出的顺序不同),不可重复,元素没有下标 实现Set接口:HashSet类;SortedSet接口是Set接口的子接口,SortedSet接口的实现类:TreeSet类实现了Set接口; 1. HashSet类 底层采取了哈希表这种数据 阅读全文
摘要:
Collection 下的子接口List接口,List接口实现的类有:ArrayList,Vector,LinkedList 1. List接口中的特有的方法: **List集合中存储元素特点:有序可重复(有下标),有序指存进去的顺序与取出时相同 ** 1)void add(int index, O 阅读全文