![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
LG_DHS
这个作者很懒,什么都没留下…
展开
-
堆排序
一、概念 1. 完全二叉树(Complete Binary Tree):若设二叉树的深度为h,除第 h层外,其它各层 (1~h-1) 的结点数都达到最大个数,第 h 层所有的结点都连续集中在最左边,这就是完全二叉树。 2. 堆:是一种完全二叉树或者近似完全二叉树。 3. 堆排序:是选择排序的一种,主要是利用完全叉树这种数据结构所设计的一种排序算法。 二、堆的分类 堆分为大根堆原创 2017-10-07 22:42:54 · 245 阅读 · 0 评论 -
迷宫问题 非递归(java版)
一、简要 偶尔接触到迷宫问题发现挺有趣的,所以开始研究了一下。我觉得这个问题的关键是: 怎么设计这个迷宫? 怎么利用栈的特点来解决这个问题? 在迷宫行走怎么更改迷宫的方向? 怎么寻找迷宫路径?以及怎么才算找到迷宫路径? 二、思路通过上面的问题关键,在脑中可以构造一个大体的思路: 首先创建一个迷宫maze,对于迷宫可以采用mxn的一个二维数组来设计。 创建一个mazenode节点类来控制二维数组中的原创 2017-10-31 15:47:10 · 1538 阅读 · 2 评论 -
单链表
1、判断当前单链表是否有环?如果有,需要返回环的入口节点,再返回环的节点个数。 解决方案:首先判断是否有环,需要使用两个指针(java里面虽然没有指针,但是方法是一样的),一个为pfast,一个为pslow。pslow每次向前走一步,pfast每次向前走两步,若在某个时候pfast等于pslow,则存在环。到这里肯定会有疑问,如果有环它们两个一定会相遇么?难道不存在快的把慢的越过去,导致它们相遇不了原创 2017-10-26 18:29:47 · 268 阅读 · 0 评论