随笔分类 -  数据结构和算法

摘要:总体介绍 Java TreeMap实现了SortedMap接口,也就是说会按照key的大小顺序对Map中的元素进行排序,key大小的评判可以通过其本身的自然顺序(natural ordering),也可以通过构造时传入的比较器(Comparator)。 TreeMap底层通过红黑树(Red-Blac 阅读全文
posted @ 2019-03-10 14:09 一点点征服 阅读(794) 评论(0) 推荐(0)
摘要:版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Ln_ZooFa/article/details/50337529 堆栈空间分配 栈(操作系统):由操作系统自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 堆(操作系 阅读全文
posted @ 2019-03-10 13:31 一点点征服 阅读(8327) 评论(0) 推荐(1)
摘要:AVL树平衡旋转详解 AVL树平衡旋转详解 AVL树平衡旋转详解 AVL树平衡旋转详解 概述 AVL树又叫做平衡二叉树。前言部分我也有说到,AVL树的前提是二叉排序树(BST或叫做二叉查找树)。由于在生成BST树的过程中可能会出现线型树结构,比如插入的顺序是:1, 2, 3, 4, 5, 6, 7. 阅读全文
posted @ 2019-03-10 13:29 一点点征服 阅读(1650) 评论(0) 推荐(0)
摘要:1. HashMap的数据结构 数据结构中有数组和链表来实现对数据的存储,但这两者基本上是两个极端。 数组 数组存储区间是连续的,占用内存严重,故空间复杂的很大。但数组的二分查找时间复杂度小,为O(1);数组的特点是:寻址容易,插入和删除困难; 链表 链表存储区间离散,占用内存比较宽松,故空间复杂度 阅读全文
posted @ 2017-12-13 13:47 一点点征服 阅读(290) 评论(0) 推荐(0)
摘要:Java面试宝典之二叉树的实现 我们接着上一篇数据结构继续讲解。本章系数据结构之树与二叉树,从这章开始,我们就要介绍非线性结构了,这些内容理解起来比线性表稍难一些,我尽量写的通俗一些,如果读的过程中有任何问题,请按上述方式联系我! 一、树 树 形结构是一类重要的非线性结构。树形结构是结点之间有分支, 阅读全文
posted @ 2016-03-10 11:42 一点点征服 阅读(759) 评论(0) 推荐(0)
摘要:Java面试宝典之数据结构基础 —— 线性表篇 一、数据结构概念 用我的理解,数据结构包含数据和结构,通俗一点就是将数据按照一定的结构组合起来,不同的组合方式会有不同的效率,使用不同的场景,如此而已。比 如我们最常用的数组,就是一种数据结构,有独特的承载数据的方式,按顺序排列,其特点就是你可以根据下 阅读全文
posted @ 2016-03-10 11:40 一点点征服 阅读(1038) 评论(0) 推荐(0)
摘要:Java面试宝典系列之基础排序算法 本文就是介绍一些常见的排序算法。排序是一个非常常见的应用场景,很多时候,我们需要根据自己需要排序的数据类型,来自定义排序算法,但是,在这里,我们只介绍这些基础排序算法,包括:插入排序、选择排序、冒泡排序、快速排序(重点)、堆排序、归并排序等等。看下图: 给定数组: 阅读全文
posted @ 2016-03-10 10:48 一点点征服 阅读(2603) 评论(0) 推荐(0)