Skip to content

Allenskoo856/AlgorithmsSolutions

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 

Repository files navigation

Java 算法设计与实现

本仓库使用 Java 实现常见的算法和解决常见的算法面试题目

排序算法 平均时间复杂度 空间复杂度 排序方式 稳定性 代码实现 说明
冒泡排序 O(N^2) O(1) In-place 稳定 Java ——
选择排序 O(N^2) O(1) In-place 不稳定 Java ------
插入排序 O(N^2) O(1) In-place 稳定 Java
希尔排序 O(nLogN) O(1) In-Place 不稳定 Java
归并排序 O(nLogN) O(N) out-Place 稳定 Java
自顶向上的归并排序 O(nLogN) O(N) out-Place 稳定 java 自顶先上
快速排序 O(nLogN) O(logN) In-Place 不稳定 java
快速排序2版 o(nLogN) O(logN) In-Place 不稳定 Java 二路快排
三路快速排序 o(nLogN) O(logN) In-Place 不稳定 java 上路快排
最大索引堆 Null NUll NUll NUll java 最大索引
堆排序 o(nLogN) O(1) In-Place 不稳定 Java
堆排序2 o(nLogN) O(1) In-Place 不稳定 java
堆排序3 o(nLogN) O(1) In-Place 不稳定 java
基数排序 O(n * K) O(N + K) Out—place 稳定 java
二叉树 平均时间复杂度 空间复杂度 代码实现
顺序查找表 Null Null java
基于Hash的散列表 Null NUll Java
链式查找链表 Null Null Java
二分搜索树 Null NUll java
平衡二叉树---红黑树 NUll Null Java
二分查找算法 (递归) java
二分查找算法(非递归) Java
平均时间复杂度 空间复杂度 代码实现
DenseGraph Java
DenseWeightedGraph java
SparseGraph java
SparseWeightedGraph java
题号 题目 英文 牛客网在线编程 答案解答
02 【 实现Singleton 模式——七种实现方式】 Singleton
03 【二维数组中的查找】 FindInPartiallySortedMatrix FindInPartiallySortedMatrix Java
04 【替换空格】 ReplaceBlank ReplaceBlank java
05 【从尾到头打印链表】 PrintListFromTailToHead PrintListFromTailToHead java
06 【重建二叉树】 ReConstructBinaryTree ReConstructBinaryTree java
07 【用两个栈实现队列】 TwoStackQueue TwoStackQueue java
08 【旋转数组的最小的数字】 MinNumberInRotateArray MinNumberInRotateArray java
09 【斐波那契数列】 Fibonacci Fibonacci java
10 【跳台阶】 JumpSteps JumpSteps java
11 【变态跳台阶】 JumpStepsII JumpStepsII java
12 【矩形覆盖】 RectCover RectCover java
13 【二进制中1的个数】 NumberOf1 NumberOf1 java
14 【数值的整数次方】 Power Power java
15 【调整数组顺序使奇数位于偶数前面】 ReOrderArray ReOrderArray java
16 【链表中倒数第K个节点】 FindKthToTail FindKthToTail java
17 【反转链表】 ReverseList ReverseList java
18 【合并两个排序的链表】 ListNodeMerge ListNodeMerge java
19 【树的子结构】 HasSubtree HasSubtree java
20 【二叉树的镜像】 MirrorBinaryTree MirrorBinaryTree java
21 【顺时针打印矩阵】 PrintMatrix PrintMatrix
22 【包含min函数的栈】 GetMinStack GetMinStack java
23 【栈的压入弹出顺序】 IsPopOrder IsPopOrder java
24 【从上往下打印二叉树】
25 【二叉搜索树的后序遍历序列】
26 【二叉树中和为某一值的路径】
27 【复杂链表的复制】 RandomListNode RandomListNode java
28 【二叉搜索树与双向链表】
29 【字符串的排序】 TReeCodeSort TReeCodeSort
30 【数组中出现次数超过一半的数字】
31 【最小的K个数】
32 【连续子数组的最大和】
33 【整数中1出现的次数】
34 【把数组排成最小的数】
35 【丑数】
36 【第一个只出现一次的字符位置】
37 【数组的逆序对】
38 【两个链表中的第一个公共节点】 FindFirstCommonNodeInList FindFirstCommonNodeInList java
39 【数字在排序数组中出现的次数】
40 【二叉树的深度】
41 【平衡二叉树】
42 【数组中只出现一次的数字】
43 【和为S的连续正数序列】
44 【和为S的两个数字】
45 【左旋转字符串】
46 【翻转单词顺序列】
47 【扑克牌顺子】
48 【孩子们的游戏】
49 【求1+2+3+...+n】
50 【不用加减乘除做加法】
51 【把字符串转换成整数】
52 【数组中重复的数字】
53 【构建乘积数组】
54 【正则表达式匹配】
55 【表示数值的字符串】
56 【字符流中第一个不重复的字符】
57 【链表中环的入口结点】 EntryNodeOfLoop EntryNodeOfLoop java
58 【删除链表中重复的节点】 DeleteDuplicationListNode DeleteDuplicationListNode java
59 【二叉树的下一个节点】
60 【对称的二叉树】
61 【按之字形顺序打印二叉树】
62 【把二叉树打印成多行】
63 【序列化二叉树】
64 【二叉搜索树的第K个节点】
65 【数据流中的中位数】
66 【滑动窗口的最大值】
67 【矩阵中的路径】

References

About

☑️java 算法设计与实现--《剑指offer》《编程之美》等Java实现

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages