算法第四版
打磕的程序员
这个作者很懒,什么都没留下…
展开
-
基于无序链表和有序数组的查找
//基于无序链表的顺序查找public class SequentialSearchST<key , Value>{ private Node first; private class Node{ Key key; Value val; Node next; public Node(Key key , Value val , Node next){ this.key = key; this.val = val; this.next = next; }.原创 2021-09-26 21:11:59 · 97 阅读 · 0 评论 -
背包、栈、队列 链表的元素增删实现 初步总结
背包的概念:是一种不支持从中删除元素的集合数据类型,它能够帮助用例收集元素并且迭代所有元素。队列:是一种基于先进先出(FIFO)的集合数据类型下压栈:是一种基于后进先出(LIFO)的集合数据类型1. 定容栈的实现: 给定数组大小public class FixedCapacityStackOfStrings{ private String[] a ; private int N; public FixedCapacityStackOfStrings(int ca..原创 2021-09-08 20:54:01 · 84 阅读 · 0 评论 -
经典排序算法
选择排序:就是从第一个数开始遍历,和后面的所有元素相比,找到最小值,和第一个元素调换位置,依次向后排列public class SelectSort{ //Comparable 相当于 泛型 public void sort(Comparable[] array){ int L = arr.length //数组长度 for(int i = 0; i < L; i++){ int min = i;原创 2021-09-18 15:21:10 · 88 阅读 · 0 评论 -
union-find算法
判断两个触点是否存在于相同的连通分量中?quick-find算法public class UF{ private int[] id; //分量id private int count; //分量数量 public UF(int N){ count = N; id = new int[N]; for(int i = 0;i< N; i++){ id[i] = i; } }.原创 2021-09-09 22:01:52 · 121 阅读 · 0 评论