Skip to content

数据结构与算法复习(Java):排序、字符串、数组、链表、二分查找、二叉树

Notifications You must be signed in to change notification settings

feelingnotes/DataStructure

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DataStructure

数据结构与算法复习(Java):排序、字符串、数组、链表、二分查找、二叉树

排序算法:

插入排序

希尔排序

选择排序

冒泡排序

计数排序

基数排序

归并排序

快速排序

双向扫描的快速排序

堆排序

字符串算法 (1):

替换字符串中的空格

输入一个字符串,打印出该字符串的所有排列

第一个只出现一次的字符

翻转句子

计算字符串之间的最短距离

字符串算法 (2):

查找字符串中的最长重复子串

求长度为N的字符串的最长回文子串

将字符串中的移到前部,并且不改变非的顺序

不开辟用于交换的空间,完成字符串的逆序C++

最短摘要生成

最长公共子序列

数组 (1):

二维数组的整数查找

旋转数组中的最小数字(旋转数组中的最大数字)

调整数组使奇数位于偶数之前

找出数组中出现次数超过一半的数字

数组 (2):

找到最小的k个数

连续子数组的最大和

连续子数组的最大和(二维)

求数组当中的逆序对

数组 (3):

在递增排序的数组中,查找指定数字出现的个数

查找数组中只出现一次的两个数字

在递增排序的数组中,查找和为s的两个数

输入一个正数s,打印出所有和为s的连续正数序列

数组当中的最大最小值

数组 (4):

求数组当中的最长递增子序列(求数组当中的最长递减子序列)

区间重合判断

一个整数数组,长度为n,将其分为m份,使各份的和相等,求m的最大值

链表:

新建链表

反转链表(递归和非递归实现)

获得链表倒数第k个结点

获得链表的中间结点

删除链表结点

交换链表结点

二分查找算法及其变型:

普通二分查找

查找关键字第一次出现的位置

查找关键字最后一次出现的位置

查找小于关键字的最大数字出现的位置

查找大于关键字的最小数字出现的位置

二叉查找树:

建立二叉查找树

删除二叉查找树中指定元素

非递归遍历二叉查找树(先序遍历、中序遍历、后序遍历)

二叉树算法 (1):

递归遍历二叉树(先序遍历、中序遍历、后序遍历)

分层打印二叉树

打印二叉树的第n层

统计二叉树叶结点的个数

统计二叉树的高度

二叉树算法 (2):

获得二叉树的镜像

判断元素是否存在于二叉树中

打印二叉树中和为s的路径

获得二叉树的最大距离

判断二叉树是否是平衡树

二叉树算法 (3):

将二叉树转换成为链表

判断数组是否为二叉树的后序遍历

判断某树是否是另一棵树的子树

根据前序和中序序列重建二叉树

About

数据结构与算法复习(Java):排序、字符串、数组、链表、二分查找、二叉树

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages