数据结构
数据结构
PromisingGirl-Du
这个作者很懒,什么都没留下…
展开
-
一看就会的java阻塞队列与非阻塞队列篇
1.队列介绍今天要来讲一下java里的队列,队列,顾名思义,排队的列,既然按排队形来做的话,生活中的银行排队啊,上车排队啊,都是先到先办理或者先上车,队列存取数据元列也一样,这就是先进先出,使用队列的规则是:使用队素时,数据元素只能从表的一端进入队列,另一端出队列。称进入队列的一端为“队尾”,出队列的一端为“队头”。数据元素全部从队尾陆续进队列,由对头陆续出队列。特点:先进先出效率:插入数据项和移除数据项的时间复杂度都是O(1),因为插入是一个一个而且只能在一端插入,取出也只能一个一个从原创 2020-06-26 12:03:53 · 1834 阅读 · 1 评论 -
剑指offer编程题--用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。
首先看图大概知道考察的是队列和栈基本知识,需要知道jdk的stack的方法的使用,以及栈队列先进后出,队列先进先出的知识栈先进先出,队列先进后出stack1.push(1);stack1.push(2);stack1.push(5);上面这样顺序存储的化栈的输出是:521,队列就是:125栈的基本方法:push存数据,pop只能取出栈顶并移除顶部思考:调用push的时候stack1存1,2,5以后,再调用pop的时候,我们从stack1取,那肯定是5,2,1的顺序,然后存到st原创 2020-06-16 15:47:00 · 363 阅读 · 0 评论 -
Java数据结构-哈希表讲解(Hash)
哈希表是我们经常频繁使用的数据结构,所以它的知识点比较重要,如HashMap啊,就是哈希表结构,哈希表的底层是数组+链表结构的,非常之聪明,两者优点结合,数组查询快,链表增删快,并且hash采用算法分析定位地址,而不用再像数组一样需要遍历。哈希表为什么采用数组+链表的结构呢?答:通过一定算法计算出来的数字就可以对应数组下标找到对应位置,假如现在计算完的数字是0需要定位到0坐标上,然后又有一...原创 2020-03-16 16:05:13 · 1402 阅读 · 1 评论 -
哈夫曼树以及哈夫曼编码
二叉树在数据是随机的时候,生成的树深度较低,左右两树可能也比较平衡,但是如果是有顺序的插入,那么二叉树深度就较高,要么子树全部在左边,要么子树全部在右边,那么由此引出最优二叉树,哈夫曼树1、哈夫曼树含义在权为w1,w2,,,,,,wn的n个叶子结点的所有二叉树中,带权路径长度wpl最小的二叉树称为赫夫曼树或最优二叉树。什么是权??“权”就是“权重”的意思,可以理解为出现...原创 2019-10-10 18:07:05 · 2747 阅读 · 0 评论 -
二叉树介绍与详解(一)
二叉树是一个高级数据结构,它的特点是既可以像索引一样快速查找,又可以像链表一样快速插入。是一个智慧结晶啊,那么接下来就要全面介绍一下二叉树。一、二叉树含义二叉树是一种简单的树结构,每一个父节点下最多只能有两个子节点。二叉树是一种常用的数据结构,是Java语言中非常重要的数据结构,他比数组和链表更加的快速实用,也是很多高级结构的底层结构,如:堆内存结构。二、为什么要学习二叉树...原创 2019-10-07 15:02:37 · 2332 阅读 · 0 评论