# DataStructure 数据结构与算法(Java实现)
00-leetcode
- 每个类对应leetcode的一道题,就是刷!刷!刷!
02-动态数组
- 简单实现ArrayList,实现动态数组
03-链表
- 抽象List设计思路
- ArrayList2优化动态数组缩容
- CircleLinkedList双向向链表
- SingleCircleLinkedList单向链表
- LinkedList双向链表实现解决约瑟夫环问题
04-栈
- Stack利用java组合实现栈
05-队列
- Queue队列实现
- Deque双端队列实现
- CircleQueue环形队列实现
- CircleDeque环形双端队列实现
06-二叉树
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
逻辑结构:描述数据元素之间的逻辑关系,如线性结构(如数组、链表)、树形结构(如二叉树、堆、B树)、图结构(有向图、无向图等)以及集合和队列等抽象数据类型。 存储结构(物理结构):描述数据在计算机中如何具体存储。例如,数组的连续存储,链表的动态分配节点,树和图的邻接矩阵或邻接表表示等。 基本操作:针对每种数据结构,定义了一系列基本的操作,包括但不限于插入、删除、查找、更新、遍历等,并分析这些操作的时间复杂度和空间复杂度。 算法: 算法设计:研究如何将解决问题的步骤形式化为一系列指令,使得计算机可以执行以求解问题。 算法特性:包括输入、输出、有穷性、确定性和可行性。即一个有效的算法必须能在有限步骤内结束,并且对于给定的输入产生唯一的确定输出。 算法分类:排序算法(如冒泡排序、快速排序、归并排序),查找算法(如顺序查找、二分查找、哈希查找),图论算法(如Dijkstra最短路径算法、Floyd-Warshall算法、Prim最小生成树算法),动态规划,贪心算法,回溯法,分支限界法等。 算法分析:通过数学方法分析算法的时间复杂度(运行时间随数据规模增长的速度)和空间复杂度(所需内存大小)来评估其效率。 学习算法与数据结构不仅有助于理解程序的内部工作原理,更能帮助开发人员编写出高效、稳定和易于维护的软件系统。
资源推荐
资源详情
资源评论
收起资源包目录
数据结构与算法(Java实现).zip (182个子文件)
.classpath 295B
.classpath 295B
.classpath 295B
.classpath 226B
.classpath 226B
.classpath 226B
.DS_Store 6KB
.DS_Store 6KB
.gitattributes 66B
.gitignore 283B
LevelOrderPrinter.java 12KB
LevelOrderPrinter.java 12KB
LevelOrderPrinter.java 12KB
LevelOrderPrinter.java 12KB
BinarySearchTree.java 11KB
TreeMap.java 11KB
BinaryTree.java 7KB
RBTree.java 7KB
RBTree.java 7KB
BinaryTree.java 7KB
BinaryTree.java 6KB
BinaryTree.java 6KB
CircleLinkedList.java 5KB
AVLTree.java 4KB
ArrayList2.java 4KB
ArrayList.java 4KB
LinkedList.java 4KB
LinkedList.java 4KB
LinkedList.java 4KB
Main.java 4KB
LinkedList.java 4KB
ArrayList.java 4KB
AVLTree.java 4KB
ArrayList.java 4KB
BST.java 3KB
BST.java 3KB
BST.java 3KB
Random30.java 3KB
SingleCircleLinkedList.java 3KB
BST.java 3KB
_15_三数之和.java 3KB
SingleLinkedList.java 3KB
_20_有效的括号.java 3KB
CircleDeque.java 2KB
_剑指_Offer_55_I_二叉树的深度.java 2KB
_92_反转链表_II.java 2KB
_438_找到字符串中所有字母异位词.java 2KB
_14_最长公共前缀.java 2KB
InorderPrinter.java 2KB
InorderPrinter.java 2KB
InorderPrinter.java 2KB
InorderPrinter.java 2KB
Main.java 2KB
Main.java 2KB
Files.java 2KB
Files.java 2KB
CircleQueue.java 2KB
_3_无重复字符的最长子串.java 2KB
Main.java 2KB
Main.java 2KB
BBST.java 2KB
BBST.java 2KB
_106_从中序与后序遍历序列构造二叉树.java 2KB
_2_两数相加.java 1KB
_226_翻转二叉树.java 1KB
_445_两数相加_II.java 1KB
_142_环形链表_II.java 1KB
Main.java 1KB
_61_旋转链表.java 1KB
SlidingWindow.java 1KB
_1382_将二叉搜索树变平衡.java 1KB
_114_二叉树展开为链表.java 1KB
_剑指_Offer_32_II_从上到下打印二叉树_II.java 1KB
_856_括号的分数.java 1KB
_107_二叉树的层次遍历_II.java 1KB
_206_反转链表.java 1KB
_109_有序链表转换二叉搜索树.java 1KB
Main.java 1KB
_101_对称二叉树.java 1KB
_107_二叉树的层次遍历_II.java 1KB
BinaryTrees.java 1KB
BinaryTrees.java 1KB
BinaryTrees.java 1KB
BinaryTrees.java 1KB
_102_二叉树的层序遍历.java 1KB
_234_回文链表.java 1KB
_13_罗马数字转整数.java 1KB
ListSet.java 1KB
List.java 1000B
List.java 1000B
List.java 1000B
List.java 995B
_203_移除链表元素.java 990B
_147_对链表进行插入排序.java 951B
_232_用栈实现队列.java 951B
_111_二叉树的最小深度.java 939B
_104_二叉树的最大深度.java 937B
_104_二叉树的最大深度.java 929B
AbstractList.java 926B
AbstractList.java 926B
共 182 条
- 1
- 2
资源评论
极致人生-010
- 粉丝: 4382
- 资源: 3086
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 学习 DirectX 教程.zip
- 如何使用 Vulkan 渲染到 DirectX 上下文中.zip
- AI中控无人直播助手 关键词+gpt回复+自动讲解
- 头戴式显示器的立体 DirectX 拦截.zip
- 外部窗口混合器 - 以 VVVV 编写 - 用于混合 Winamp-AVS 窗口 (它无法捕获 DirectX).zip
- 堪萨斯州立大学学生正在完成的 DirectX 项目.zip
- 基于PyTorch实现神经网络图像风格实时迁移和迭代式非实时风格迁移源码+文档说明+模型.zip
- 基于傅里叶变换FFT的海面河流模拟(DirectX11版本)使用Computer Shader实现.zip
- 操作系统实验集合 :实验1-7
- 基于WPF和DirectX的桌面弹幕引擎.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功