# DataStructure
数据结构与算法复习(Java):排序、字符串、数组、链表、二分查找、二叉树
排序算法:
插入排序
希尔排序
选择排序
冒泡排序
计数排序
基数排序
归并排序
快速排序
双向扫描的快速排序
堆排序
字符串算法 (1):
替换字符串中的空格
输入一个字符串,打印出该字符串的所有排列
第一个只出现一次的字符
翻转句子
计算字符串之间的最短距离
字符串算法 (2):
查找字符串中的最长重复子串
求长度为N的字符串的最长回文子串
将字符串中的*移到前部,并且不改变非*的顺序
不开辟用于交换的空间,完成字符串的逆序C++
最短摘要生成
最长公共子序列
数组 (1):
二维数组的整数查找
旋转数组中的最小数字(旋转数组中的最大数字)
调整数组使奇数位于偶数之前
找出数组中出现次数超过一半的数字
数组 (2):
找到最小的k个数
连续子数组的最大和
连续子数组的最大和(二维)
求数组当中的逆序对
数组 (3):
在递增排序的数组中,查找指定数字出现的个数
查找数组中只出现一次的两个数字
在递增排序的数组中,查找和为s的两个数
输入一个正数s,打印出所有和为s的连续正数序列
数组当中的最大最小值
数组 (4):
求数组当中的最长递增子序列(求数组当中的最长递减子序列)
区间重合判断
一个整数数组,长度为n,将其分为m份,使各份的和相等,求m的最大值
链表:
新建链表
反转链表(递归和非递归实现)
获得链表倒数第k个结点
获得链表的中间结点
删除链表结点
交换链表结点
二分查找算法及其变型:
普通二分查找
查找关键字第一次出现的位置
查找关键字最后一次出现的位置
查找小于关键字的最大数字出现的位置
查找大于关键字的最小数字出现的位置
二叉查找树:
建立二叉查找树
删除二叉查找树中指定元素
非递归遍历二叉查找树(先序遍历、中序遍历、后序遍历)
二叉树算法 (1):
递归遍历二叉树(先序遍历、中序遍历、后序遍历)
分层打印二叉树
打印二叉树的第n层
统计二叉树叶结点的个数
统计二叉树的高度
二叉树算法 (2):
获得二叉树的镜像
判断元素是否存在于二叉树中
打印二叉树中和为s的路径
获得二叉树的最大距离
判断二叉树是否是平衡树
二叉树算法 (3):
将二叉树转换成为链表
判断数组是否为二叉树的后序遍历
判断某树是否是另一棵树的子树
根据前序和中序序列重建二叉树
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
逻辑结构:描述数据元素之间的逻辑关系,如线性结构(如数组、链表)、树形结构(如二叉树、堆、B树)、图结构(有向图、无向图等)以及集合和队列等抽象数据类型。 存储结构(物理结构):描述数据在计算机中如何具体存储。例如,数组的连续存储,链表的动态分配节点,树和图的邻接矩阵或邻接表表示等。 基本操作:针对每种数据结构,定义了一系列基本的操作,包括但不限于插入、删除、查找、更新、遍历等,并分析这些操作的时间复杂度和空间复杂度。 算法: 算法设计:研究如何将解决问题的步骤形式化为一系列指令,使得计算机可以执行以求解问题。 算法特性:包括输入、输出、有穷性、确定性和可行性。即一个有效的算法必须能在有限步骤内结束,并且对于给定的输入产生唯一的确定输出。 算法分类:排序算法(如冒泡排序、快速排序、归并排序),查找算法(如顺序查找、二分查找、哈希查找),图论算法(如Dijkstra最短路径算法、Floyd-Warshall算法、Prim最小生成树算法),动态规划,贪心算法,回溯法,分支限界法等。 算法分析:通过数学方法分析算法的时间复杂度(运行时间随数据规模增长的速度)和空间复杂度(所需内存大小)来评估其效率。 学习算法与数据结构不仅有助于理解程序的内部工作原理,更能帮助开发人员编写出高效、稳定和易于维护的软件系统。
资源推荐
资源详情
资源评论
收起资源包目录
数据结构与算法复习(Java):排序、字符串、数组、链表、二分查找、二叉树.zip (21个子文件)
open_suanfayushujujiegouxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcxxxxxxxxxxxxcxvcvcv
.classpath 295B
.settings
org.eclipse.jdt.core.prefs 587B
src
sort
sort.java 4KB
linkedlist
linkedList.java 3KB
array
Array1.java 2KB
Array4.java 4KB
Array3.java 3KB
Array2.java 4KB
binarytree
Node.java 79B
BinaryTree2.java 4KB
BinaryTree1.java 2KB
Tree.java 65B
BinaryTree3.java 4KB
BinaryTree.java 4KB
string
String2.java 6KB
String1.java 2KB
binarysearch
binarySearch.java 2KB
main.java 519B
bin
.gitignore 36B
.project 369B
README.md 3KB
共 21 条
- 1
资源评论
极致人生-010
- 粉丝: 2912
- 资源: 2826
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功