2018年12月13日

摘要: Java数据结构 散列表原理 [toc] __数据结构与算法目录()__ 散列表(Hash table) 也叫哈希表,借助散列函数对数组进行扩展,利用的是数组支持按照下标随机访问元素的特性。散列表两个核心问题是散列函数和散列冲突。散列函数有 MD5、SHA、CRC 等哈希算法。散列冲突开放寻址法和链 阅读全文
posted @ 2018-12-13 21:58 binarylei 阅读(615) 评论(0) 推荐(0)
摘要: Java数据结构和算法(七)B+ 树 __数据结构与算法目录()__ 我们都知道二叉查找树的查找的时间复杂度是 O(logN),其查找效率已经足够高了,那为什么还有 B 树和 B+ 树的出现呢?难道它两的时间复杂度比二叉查找树还小吗?答案当然不是, B 树和 B+ 树的出现是因为另外一个问题,那就是 阅读全文
posted @ 2018-12-13 21:44 binarylei 阅读(2244) 评论(0) 推荐(0)
摘要: Java 数据结构 堆和堆排序:为什么快排比堆排序性能好 [toc] __数据结构与算法目录()__ 关于二叉树这种数据结构在实现软件工程中的应用,前面我们已经介绍了红黑树,下面我们再介绍另一种常见的二叉树 堆。 红黑树:基于平衡二叉查找树的动态数据结构,用于快速插入和查找数据,其时间复杂度都是 O 阅读全文
posted @ 2018-12-13 19:32 binarylei 阅读(1029) 评论(0) 推荐(0)
摘要: Java 数据结构 红黑树:为什么工程中使用的平衡二叉查找树都是红黑树? [toc] __数据结构与算法目录()__ 1. 平衡二叉查找树 平衡二叉树:二叉树中任意一个节点的左右子树的高度相差不能大于 1。 从这个定义来看,完全二叉树、满二叉树其实都是平衡二叉树。常用的平衡二叉查找树的实现有两种: 阅读全文
posted @ 2018-12-13 19:26 binarylei 阅读(306) 评论(0) 推荐(0)
摘要: Java数据结构和算法(一)线性结构之单链表 单链表的结构如上:最后一个节点的 next=null。下面看一下代码。 __(1) 链表的基本操作__ __(2) 取出中间节点__ 偶数节点取中间两个节点的前一个节点,奇数节点取正中间的节点 __(3) 链表反转__ 测试一把: __(4) 有序链表的 阅读全文
posted @ 2018-12-13 19:24 binarylei 阅读(282) 评论(0) 推荐(0)
摘要: Java数据结构和算法(一)线性结构 __数据结构与算法目录()__ __线性表__ 是一种逻辑结构,相同数据类型的 n 个数据元素的有限序列,除第一个元素外,每个元素有且仅有个直接前驱,除最后一个元素外,每个元素有且仅有一个直接后继。 一、基本概念 __线性表具有以下特点:__ 元素个数有限 逻辑 阅读全文
posted @ 2018-12-13 19:23 binarylei 阅读(427) 评论(0) 推荐(0)
摘要: 数据结构与算法之美 学习资源推荐 《数据结构与算法分析:Java语言描述》 LeetCode: 数据结构可视化网站: 数据结构可视化网站: 1. [Java数据结构和算法 概述篇] "1.1 Java 数据结构和算法 复杂度分析" [1.2 Java 数据结构和算法 数据结构总结] [1.3 Jav 阅读全文
posted @ 2018-12-13 19:20 binarylei 阅读(1131) 评论(1) 推荐(2)
摘要: Java 数据结构 二叉树概念:什么样的二叉树可以使用数组存储 [toc] 数据结构与算法目录(https://www.cnblogs.com/binarylei/p/10115867.html) 前面讲到的链表、栈和队列都是一对一的线性结构,这节讲一对多的线性结构 树。「一对多」就是指一个元素只能 阅读全文
posted @ 2018-12-13 19:14 binarylei 阅读(1213) 评论(0) 推荐(0)

导航