
数据结构与算法
数据结构和算法相关学习
weixin_42232931
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
java数据结构----哈希表(数组+链表)
一.概述 散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列(哈希)函数, 映射过程叫做哈希化,存放记录的数组叫做散列表。使用哈希函数向数组插入数据后,这个数组就是哈希表。 哈希函数和散列值(哈希值),散列值(哈希值)就是把任意长...原创 2020-02-09 12:51:14 · 2076 阅读 · 1 评论 -
java算法----算法的时间复杂度
一. 度量一个程序(算法)执行时间的两种方法1.事后统计的方法 这种方法可行,但有两个问题: 一是想要对设计的算法的运行性能进行评测,需要实际运行改程序; 二十所得时间的统计量依赖于计算机硬件, 软件等环境因素, 这种方式, 要在同一台计算机的相同状态下运行,才能比较哪个算法速度更快.2.事前估算的方法通过分析算法的时间复杂度来判断哪个算法更占优二. 从时间频度到时间复杂度...原创 2020-02-07 21:27:23 · 1225 阅读 · 1 评论 -
java数据结构----链表
一.概述1.概念 链表:链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针连接次序实现的。每一个链表都包含多个节点,节点又包含两个部分,一个是数据域(储存节点含有的信息),一个是引用域(储存下一个节点或者上一个节点的地址)。2.使用链表的优缺点 使用链表结构可以克服数组链表需要预先知道数据大小的缺点,链表结构可以充分利用计算机内存空间...原创 2020-02-06 12:21:41 · 295 阅读 · 0 评论 -
java数据结构----队列(二)之阻塞队列
参考文章:https://blog.youkuaiyun.com/tonywu1992/article/details/83419448一. 概述阻塞队列(BlockingQueue)是一个支持两个附加操作的队列。这两个附加的操作支持阻塞的插入和阻塞移除方法1)支持阻塞的插入方法:意思是当队列满时,队列会阻塞住插入元素的线程,直到队列有空位。 2)支持阻塞的移除方法:意思是在队列为空时,获取元素...原创 2020-02-06 08:12:52 · 309 阅读 · 0 评论 -
java数据结构----队列(一)之队列概述
一. 概述1.队列的定义 队列(queue)是一种特殊的线性表,队列就像一支队伍,有队首(head)和队尾(tail)以及队列长度。队列和栈类似,也是一个遵循特殊规则约束的数据结构。栈是一个后进先出(LIFO)的数据结构,队列正好与之相反,是一个先进先出(FIFO,First In First Out)的数据结构,例如我们去食堂就餐排队,先排上队的肯定先拿到餐出队,这和我们对列认知是一致...原创 2020-02-03 16:23:07 · 406 阅读 · 0 评论 -
HashMap学习----从已知的数据结构猜测具体实现到结合源码学习
一.HashMap概述 在Map中存储的每一个键值对都是以一个Map.Entry<K,V>的实现对象存储的,Map.Entry是一个接口,不能实例化,所以Map的不同实现类,存储键值对的方式也会有所不同,只要这个键值对的类实现了Map.Entry接口即可(而HashMap.Node<K,V>实现了Map.Entry<K,V>接口)。在HashMap中...原创 2020-01-31 15:40:01 · 137 阅读 · 0 评论 -
Java数据结构----总述
原文地址:https://baijiahao.baidu.com/s?id=1630285239174806636&wfr=spider&for=pc一.数据结构总览线性结构与非线性结构1.线性结构线性结构作为最常用的数据结构,其特点是数据元素之间存在一对一的线性关系 线性结构有两种不同的存储结构,即顺序存储结构(数组)和链式存储结构(链表).顺序存储的线性...转载 2020-01-26 14:23:12 · 129 阅读 · 0 评论