![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
15191806282
请大家多多关照!
展开
-
二叉树的结构分析及实现
二叉树的定义: 二叉树是每个节点最多只有两个字数的树结构,在图的定义中二叉树是一个连通的无环图,并且每个顶点的度不大于3(根节点的度不大于2)。二叉树的基本类型:二叉树的实现:节点结构设计class Node{ private Object data; private Node leftChild; private Node rightCh原创 2017-02-22 17:50:11 · 344 阅读 · 0 评论 -
用java实现泛型编程的单链表
以下程序实现了单链表的基本操作(初始化、头插、尾插、打印、删除)//单链表的节点结构设计class SLinked<T>{ private T data;//单链表的节点数据域 private SLinked<T> next;//单链表的节点节点域 public SLinked(T data){ this.data = data; this.ne原创 2017-03-03 15:54:43 · 1146 阅读 · 0 评论 -
堆排序原理及代码实现
说堆排序之前,我们得先了解一下堆的概念。堆分为大根堆和小根堆,其实就是完全二叉树,大根堆要求是节点的元素要大于其左右孩子的元素;小根堆要求是节点的元素小于其左右孩子的元素;但是两者对于左右孩子谁大谁小没有要求。堆排序的算法就是利用大根堆顶元素最大和小根堆堆顶元素最小的特点而设计的排序算法,每次将堆顶元素与最后堆最后的节点元素去交换,然后再去将调整剩余节点调整为大根堆或小根堆,以此来实现排序。堆排序的原创 2017-07-11 19:23:19 · 506 阅读 · 0 评论 -
二分查找的原理及代码实现
二分查找算法的原理就是基于一个有序表进行查找;首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表分成前、后两个子表,如果中间位置记录的关键字大于查找关键字,则进一步查找前一子表,否则进一步查找后一子表。重复以上过程,直到找到满足条件的记录,使查找成功,或直到子表不存在为止,此时查找不成功。优点: 时间复杂度虽原创 2017-07-11 20:00:48 · 820 阅读 · 0 评论 -
Arrays.sort()用的是什么排序算法?怎么优化?
Arrays.sort()用的是快速排序算法。相信大家对于这个都是了解的。 算法的思想: 选择基准将数组一分为二,基准前面的比基准小,基准后面的比基准大,之后分别对这两部分继续之前的操作,已达到整个数组有序的目的。 算法内容描述: 先选择一个基准,指向数组开始的指针start和指向数组结束的指针end; 当star原创 2017-07-20 17:19:57 · 22254 阅读 · 5 评论