二叉排序树集中了数组的查找优势以及链表的插入、删除优势,因此在数据结构中占有一定的地位。但在一定的情况下二叉排序树又有可能变为链表,例如插入从1~100的数,这时进行数据查找的效率就要降低。 为了解决二叉排序树这种左右子树深度不均匀的情况引入了一种平衡二叉树(AVLTree):任何一个节点的左右子树 ...
分类:
其他好文 时间:
2017-04-03 22:47:28
阅读次数:
276
一、队列 队列(Queue:本文要介绍的第一种数据结构):只能从线性表的一端添加(offer)元素,从另一端取出(poll)元素,并遵循FIFO(先进先出) 选择LinkedList来实现Queue接口,因为LinkedList在插入删除的操作方面效率较高 相关操作: boolean offer(E ...
分类:
其他好文 时间:
2017-04-02 14:35:54
阅读次数:
133
题目描述 编写代码,以给定值x为基准将链表分割成两部分,所有小于x的结点排在大于或等于x的结点之前 给定一个链表的头指针 ListNode* pHead,请返回重新排列后的链表的头指针。注意:分割以后保持原来的数据顺序不变。 /* struct ListNode { int val; struct ...
分类:
其他好文 时间:
2017-04-02 00:07:20
阅读次数:
171
●个人感觉: 代码长; 函数多; (很套路); (很强的Splay,无愧于“区间王”) ●NOI2005维修数列 一个可以当模板学习的题,包含了众多操作(函数): 区间插入,删除,更新,翻转,询问信息以及”回收空间”(名字很刚)等。 update()pushdown() rotate() splay ...
分类:
其他好文 时间:
2017-03-31 11:56:22
阅读次数:
250
redis是一种非关系型数据存储工具,这区别于传统的关系型数据库(像MySQL等),类似于memcache,并且其内部集成了对list(链表)、set(集合)的操作,可以很方便快速的处理数据(像插入、删除list取交集 并集 差集等),这极大的减轻了底层数据库的压力,并且给用户更快的响应速度。 re ...
分类:
系统相关 时间:
2017-03-31 09:23:12
阅读次数:
269
莫队算法如果我们已知[l,r]的答案,能在O(1)时间得到[l+1,r]的答案以及[l,r-1]的答案,即可使用莫队算法。时间复杂度为O(n^1.5)。如果只能在logn的时间移动区间,则时间复杂度是O(n^1.5*log n)。其实就是找一个数据结构支持插入、删除时维护当前答案。 这道题的话我们很 ...
分类:
编程语言 时间:
2017-03-29 14:13:12
阅读次数:
227
UITableView Cell的插入/删除 核心API Class : UITableView Delegate : UITableViewDataSource, UITableViewDelegate 涉及的API:(API的官方详细注释详见本章结尾) 功能实现思路: Code:1 . 让Tab ...
分类:
移动开发 时间:
2017-03-29 13:00:12
阅读次数:
226
Perl的数据结构中最有趣的一个特性是哈希(hash),它使得在数据片段之间建立键-值(key-value)关联成为可能。虽然这些哈希要远远比普通系统中以数字索引的数组用途更广,但是往往也会使初学者不知所措。这就是要写本篇文章的原因所在??它将告诉你如何创建Perl的哈希,如何插入、删除要素,以及如 ...
分类:
其他好文 时间:
2017-03-28 21:35:38
阅读次数:
229
T1 郁闷的出纳员 一个数据结构,支持单点插入、删除几个不一定连续的点、查询k值操作 初做:2017.2.18 time:1268ms memory:3MB http://www.cnblogs.com/TheRoadToTheGold/p/6412790.html 现在:2017.3.28 tim ...
分类:
其他好文 时间:
2017-03-28 21:32:06
阅读次数:
297
集合框架 1、Collection框架 Collection接口 | List接口(有序可重复) | ArrayList类(底层采用变长数组实现,查找速度快,不安全,效率高) | Vector类(底层采用变长数组实现,安全,效率低) | LinkedList类(底层采用双向链表实现,插入删除速度快) ...
分类:
其他好文 时间:
2017-03-27 18:31:03
阅读次数:
157