算法与数据结构
Nuan_Feng
蓝桥杯国赛一等奖。唯有志存千里,方能风行天下。
展开
-
图-有权图-最短路径算法
package k_graph.B_WeightedGraph.B_Path;/** * 有向有权图 * 最短路径算法 * @author Administrator * */public class PathApp {public static void main(String[] args) {Graph theGraph = new Graph();原创 2017-02-23 12:50:45 · 523 阅读 · 0 评论 -
递归-I-背包问题
package f_recursion.H_demo.demo2;/** * 背包问题 * * @author Administrator * */public class Demo1 {static int arr[] = { 11, 8, 7, 6, 5 };static Stack theStack = new Stack(arr.length原创 2017-02-23 12:28:47 · 290 阅读 · 0 评论 -
递归-H-递归求一个数的乘方
package f_recursion.H_demo.demo1;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;/** * 递归求一个数的乘方 * * @author Administrator * */p原创 2017-02-23 12:28:22 · 882 阅读 · 0 评论 -
递归-G-取代stackTriangle2#step()
package f_recursion.G_stackTriangle2;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;/** * 栈三角应用 * 取代stackTriangle2#step() * * @auth原创 2017-02-23 12:27:46 · 207 阅读 · 0 评论 -
递归-G-递归实现栈转换
package f_recursion.G_stackTriangle;/** * 封装返回地址和方法参数 * * @author Administrator * */public class Params {public int n;public int returnAddress;public Params(int n, int ret原创 2017-02-23 12:26:42 · 351 阅读 · 0 评论 -
递归-F-通过归并进行排序
package f_recursion.F_mergeSort;/** * 通过归并进行排序 * @author Administrator * */public class MergeSortApp {public static void main(String[] args) {DArray arr = new DArray(100);arr.ins原创 2017-02-23 12:26:08 · 184 阅读 · 0 评论 -
递归-E-归并排序
package f_recursion.E_merge;/** * 归并排序 * @author Administrator * */public class MergeApp {public static void main(String[] args) {int []arrA={23,34,45,66};int []arrB={20,30,40,50,60,原创 2017-02-23 12:25:20 · 262 阅读 · 0 评论 -
递归-D-汉偌塔问题
package f_recursion.D_towers_$;/** * 汉偌塔问题 */public class TowersApp {static int nDisks = 3;public static void main(String[] args) {doTowers(3, 'A', 'B', 'C');}private sta原创 2017-02-23 12:24:59 · 346 阅读 · 0 评论 -
递归-C-二分查找+排序
package f_recursion.C_binarySearch;/** * 递归:二分查找+排序 * * @author Administrator * */public class BinarySearchApp {public static void main(String[] args) {int maxSize = 100;ordA原创 2017-02-23 12:24:34 · 286 阅读 · 0 评论 -
递归-B-变位字:排列所有组合
package f_recursion.B_anagram_$;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;/** * 变位字:排列所有组合 * * @author Administrator * */p原创 2017-02-23 12:24:02 · 444 阅读 · 0 评论 -
递归-A-三角数字
package f_recursion.A_Trangle;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;/** * 三角数字 公式:(n*n+n)/2 * * @author Administrator * *原创 2017-02-23 12:23:31 · 268 阅读 · 0 评论 -
链表-M-Josephus
package e_link.L_Josephus;public class Link {public int iData;public Link next;public Link previous;public Link(int iData) {this.iData = iData;}public void displayLink() {原创 2017-02-23 12:22:08 · 275 阅读 · 0 评论 -
链表-L-循环链表
package e_link.K_CircularLinkedList;public class CList {Link current;FirstLastLink fll;public CList() {fll = new FirstLastLink();reset();}public void insert(int k) {fll.i原创 2017-02-23 12:21:25 · 331 阅读 · 0 评论 -
链表-K-链表实现 双端队列
package e_link.J_FirstLastQue;/** * 链表实现 双端队列 * * @author Administrator * */public class DequeApp {public static void main(String[] args) {Deque theDeque = new Deque();theDeq原创 2017-02-23 12:20:58 · 261 阅读 · 0 评论 -
链表-j-优先级队列,单向链表实现
package e_link.I_priorityQue;/** * 优先级队列,单向链表实现 * * @author Administrator * */public class Demo {public void fun1() {QueueSort theQs = new QueueSort();theQs.insert(15);theQ原创 2017-02-23 12:20:22 · 358 阅读 · 0 评论 -
高级排序-希尔排序
package g_advancedSort.A_shellSort;public class ArraySh {private long[] theArray;private int nElems;public ArraySh(int max) {theArray = new long[max];nElems = 0;}public voi原创 2017-02-23 12:32:56 · 213 阅读 · 0 评论 -
高级排序-划分
package g_advancedSort.B_partition;/** * 划分:数据分成2组,大于关键字的右边,小于关键字的左边。 * * @author Administrator * */public class PartitionApp {public static void main(String[] args) {int maxSiz原创 2017-02-23 12:33:22 · 294 阅读 · 0 评论 -
高级排序-快速排序,最右边的值为枢纽
package g_advancedSort.C_quickSort;/** * 快速排序,最右边的值为枢纽 * @author Administrator * */public class QuickSortApp {public static void main(String[] args) {int maxSize = 10;ArrayIns arr =原创 2017-02-23 12:33:57 · 429 阅读 · 0 评论 -
图-有权图-最小生成树
package k_graph.B_WeightedGraph.A_Mstw;/** * 最小生成树 * * @有权无向,寻找距离最近的走遍所有点的路 * * @author Administrator * */public class MSTWApp {public static void main(String[] args) {Grap原创 2017-02-23 12:49:32 · 458 阅读 · 0 评论 -
图-无权图-拓扑排序
package k_graph.A_Graph.D_DAG;/** * 拓扑排序 有向图 * * @author Administrator * */public class TopoApp {public static void main(String[] args) {Graph theGraph = new Graph();theGr原创 2017-02-23 12:48:47 · 261 阅读 · 0 评论 -
图-无权图-最小化生成树
package k_graph.A_Graph.C_MST;/** * 无向图 * 最小化生成树 * @author Administrator * */public class MSTApp {public static void main(String[] args) {Graph theGraph = new Graph();theGraph.原创 2017-02-23 12:48:04 · 373 阅读 · 0 评论 -
图-无权图-广度优先查询(BFS)
package k_graph.A_Graph.B_BFS;/** * 无向图 * 广度优先查询 * @author Administrator * */public class BFSApp {public static void main(String[] args) {Graph theGraph = new Graph();theGraph.原创 2017-02-23 12:47:20 · 372 阅读 · 0 评论 -
图-无权图-无向图(DFS)
package k_graph.A_Graph.A_DFS;/** * 无向图 * 深度优先搜索(DFS) * * @author Administrator * */public class DFSApp {public static void main(String[] args) {Graph theGraph = new Graph();原创 2017-02-23 12:46:46 · 525 阅读 · 0 评论 -
堆-B-堆排序
package j_heap.B_heapSort;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;/** * 堆排序 * 数组显示的时候大小不能为数组个数,因为堆排序后,数组个数清0,将无法显示。而大小则不会 * 缺点:原创 2017-02-23 12:45:05 · 308 阅读 · 0 评论 -
堆-A-基于完全二叉树实现,并且由数组存储的堆
package j_heap.A_CompleteTree;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;/** * 基于完全二叉树实现,并且由数组存储的堆 * @author Administrator * */publ原创 2017-02-23 12:44:33 · 392 阅读 · 0 评论 -
hash-c-链地址法
package i_hash.C_hashChain;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;/** * 链地址法 * * @author Administrator * */public class原创 2017-02-23 12:43:23 · 371 阅读 · 0 评论 -
hash-B-使用在哈希法存储数据
package i_hash.B_hashDouble;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;/** * 使用在哈希法存储数据 * * @author Administrator * */publi原创 2017-02-23 12:42:42 · 376 阅读 · 0 评论 -
hash-A-hash表
package i_hash.A;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;/** * hash表 * * @author Administrator * */public class HashTable原创 2017-02-23 12:42:04 · 316 阅读 · 0 评论 -
树-234树
package h_tree.B_tree234;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;/** * 234树应用 * * @author Administrator * */public class原创 2017-02-23 12:36:45 · 759 阅读 · 0 评论 -
树-A- 二叉数应用
package h_tree.A_TwoForkTree;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;/* * 二叉数应用 */public class TreeApp {public static void mai原创 2017-02-23 12:35:46 · 236 阅读 · 0 评论 -
高级排序-快速排序-使用插入排序来处理小于10个数据项的子数组,使快速排序性能发挥到极致。
package g_advancedSort.E_quickSort3;/** * 使用插入排序来处理小于10个数据项的子数组,使快速排序性能发挥到极致。 * 一般用9作为切割点,但是最终还是要取决计算机,操作系统等。 * * @author Administrator * */public class QuickSortApp {public s原创 2017-02-23 12:35:04 · 777 阅读 · 0 评论 -
高级排序-快速排序-利用三数据取中划分的快速排序算法
package g_advancedSort.D_quickSort2;/** * 利用三数据取中划分的快速排序算法 * @author Administrator * */public class QuickSortApp {public static void main(String[] args) {int maxSize = 16;ArrayIns ar原创 2017-02-23 12:34:29 · 934 阅读 · 0 评论 -
链表-I-链表实现迭代器
package e_link.I_Iterator;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;/** * 链表实现迭代器 * * @author Administrator * */public clas原创 2017-02-23 12:19:42 · 502 阅读 · 0 评论 -
链表-H-双向链表,允许前后遍历
package e_link.H_doublyLinked;/** * 双向链表,允许前后遍历 * * @author Administrator */public class DoublyLinkedApp {public static void main(String[] args) {DoublyLinkedList theList = new Do原创 2017-02-23 12:19:12 · 406 阅读 · 0 评论 -
链表-G- 利用有序链表给数组排序
package e_link.G_listInsertionSort;public class Link {public int data;public Link next;public Link(int data) {this.data = data;}}package e_link.G_listInsertionSort;/** *原创 2017-02-23 12:18:46 · 232 阅读 · 0 评论 -
栈-运算后缀表达式
package c_stack.D_postfix;public class ParsePost {private StackX theStackX;private String input;public ParsePost(String s) {input = s;}public int doParse() {int result;th原创 2017-02-23 12:05:03 · 320 阅读 · 0 评论 -
栈-匹配
package c_stack.C_matching;public class BracketChecker {private String input;public BracketChecker(String input) {this.input = input;}public void check() {int stackSize = inp原创 2017-02-23 12:04:16 · 329 阅读 · 0 评论 -
栈-中缀表达式换成后缀
package c_stack.C_Infix;/** * @author Administrator 中缀表达式换成后缀 */public class InfixApp {public static void main(String[] args) {String input = " 3 + 4 - 6 / 2 * (6 + 3 * (4 - 1))";I原创 2017-02-23 12:01:53 · 207 阅读 · 0 评论 -
栈-单词逆序
package c_stack.B_wordReverse;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;/** * 单词逆序 * * @author Administrator * */public class R原创 2017-02-23 12:01:22 · 344 阅读 · 0 评论 -
栈-数组模拟栈
package c_stack.A_array;/** * 数组模拟栈 * push:top+1,然后在top+1索引对应的位置上添加值 * pop:返回top对应的值,然后top-1 * 常见错误,栈没值,返回值, * 栈满,添加值 * * @author Administrator * */public class Array_stack原创 2017-02-23 12:00:46 · 320 阅读 · 0 评论