Java数据结构和算法.pdf
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
Java数据结构和算法.pdf 资源摘要信息是关于Java数据结构和算法的知识点总结,涵盖了数组、栈与队列、链表、递归、哈希表、高级排序、二叉树、红黑树、堆、带权图等数据结构和算法概念。 一、数组 * 数组是相同类型变量的集合,可以使用共同的名字引用它。 * 数组可以是一维或多维。 * 数组中的一个特别要素是通过下标来访问它。 * 数组提供了一种将有联系的信息分组的便利方法。 * 一维数组是相同类型变量列表。 * 创建一个数组需要两步:定义数组变量所需的类型和使用运算符 new 来为数组所要存储的数据分配内存。 * 数组的初始化包括在花括号之内用逗号分开的表达式的列表。 * Java 严格地检查以保证不会意外地去存储或引用在数组范围以外的值。 二、简单排序 * 简单排序包括冒泡排序、选择排序、插入排序等。 * 冒泡排序的思想是假设有 N 个数据需要排序,则从第0 个数开始,依次比较第0 和第 1 个数据,如果第 0 个大于第 1 个则两者交换,否则什么动作都不做,继续比较第1 个第 2个,以此类推,直至所有数据都“冒泡” 到数据顶上。 * 冒泡排序的 Java 代码:Public void bubbleSort() { int in,out; for(out=nElems-1;out>0;out--) for(in=0;in<out;in++) { If(a[in]>a[in+1]) Swap(in,in+1); } } * 算法的不变性:许多算法中,有些条件在算法执行过程中始终是不变的。这些条件被称为算法的不变性,如果不变性不为真了,则标记出错了。 * 冒泡排序的效率 O(N*N),比较 N*N/2,交换 N*N/4。 三、栈与队列 * 栈是一种后进先出(LIFO)的数据结构。 * 队列是一种先进先出(FIFO)的数据结构。 四、链表 *链表是一种动态分配的数据结构。 * 链表可以实现插入、删除、查找等操作。 五、递归 * 递归是一种编程技术,通过函数调用自身来实现循环操作。 * 递归可以实现树形结构的遍历。 六、哈希表 * 哈希表是一种基于键值对的数据结构。 * 哈希表可以实现快速查找、插入、删除等操作。 七、高级排序 * 高级排序包括快速排序、归并排序、堆排序等。 * 快速排序是基于分治算法的排序方法。 * 归并排序是基于分治算法的排序方法。 * 堆排序是基于堆数据结构的排序方法。 八、二叉树 * 二叉树是一种树形数据结构。 * 二叉树可以实现查找、插入、删除等操作。 九、红黑树 * 红黑树是一种自平衡的二叉树数据结构。 * 红黑树可以实现快速查找、插入、删除等操作。 十、堆 * 堆是一种特殊的树形数据结构。 * 堆可以实现查找、插入、删除等操作。 十一、带权图 * 带权图是一种带有权值的图形数据结构。 * 带权图可以实现最短路径、最小生成树等算法。
剩余41页未读,继续阅读
- 粉丝: 17
- 资源: 26万+
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- C语言-leetcode题解之70-climbing-stairs.c
- C语言-leetcode题解之68-text-justification.c
- C语言-leetcode题解之66-plus-one.c
- C语言-leetcode题解之64-minimum-path-sum.c
- C语言-leetcode题解之63-unique-paths-ii.c
- C语言-leetcode题解之62-unique-paths.c
- C语言-leetcode题解之61-rotate-list.c
- C语言-leetcode题解之59-spiral-matrix-ii.c
- C语言-leetcode题解之58-length-of-last-word.c
- 计算机编程课程设计基础教程