【List集合】 List集合存储数据的结构 堆栈:先进后出(先存进来的元素,最后取出) 例如:子弹压进弹夹 队列:先进先出(先存进来的元素,先取出来) 例如:排队 『ArrayList』 数组:查找元素快,增删元素慢 有索引 『LinkedList』 链表:查找元素慢,增删元素快 没有索引,连接的 ...
分类:
其他好文 时间:
2017-06-11 23:24:23
阅读次数:
301
数据结构是指数据在计算机内存空间或磁盘中的组织形式。数据结构包括数组、链表、栈、二叉树、哈希表等等。算法对这些结构中的数据进行各种处理,例如,查找一条特殊的数据项或对数据进行排序。 数据结构 优点 缺点 数组 插入快,如果知道下标,可以非常快地存取 查找慢,删除慢,大小固定 有序数组 比无序数组查找 ...
分类:
编程语言 时间:
2017-06-08 23:46:59
阅读次数:
174
题目例如以下:给定一个升序的整数数组。查找某一个值在数组中出现的索引號。比如。输入数组2,3。3,4,4。5;查找的数是3,则返回1,2。时间复杂度要求为O(logN)。 初次拿到这个题目能够马上想到用二分查找来做。先比較中间的数和要查找的数。假设keyword(要查找的数)小于中间的数,那么在数组 ...
分类:
编程语言 时间:
2017-06-02 19:00:35
阅读次数:
174
2.数组添加 3.数组删除 4.数组的遍历(不介绍for循环) 5.数组和字符串之间的转换 6.数组的排序 7.数组判断 8.数组的合并与拆分 9.返回数组的交集 10.将数组转换为标量变量 11.初始化数组 12.查找数组 ...
分类:
编程语言 时间:
2017-05-22 01:23:54
阅读次数:
164
题目描写叙述 统计一个数字在排序数组中出现的次数。 解题思路 数组是排序的,所以反复出现的数字是相邻排列的。 用二分查找算法,找到第一次出现的位置。和 最后一次出现的位置。 推断第一次出现的位置条件为:当前数字的前一个是否与之相等。若是则继续查找,否则该位置就是第一次出现的位置。 推断最后一次出现的 ...
分类:
编程语言 时间:
2017-04-22 19:44:28
阅读次数:
113
二维数组中的查找 剑指offer 二维数组 查找 题目描述: 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从>上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整>数,判断数组中是否含有该整数。 分析: 显而易见,最简单的、最容易先想到的方法就是遍历数组了,然而 ...
分类:
编程语言 时间:
2017-04-22 17:43:35
阅读次数:
146
引言 二叉查找树是一种能将链表插入的灵活性和有序数组查找的高效性结合起来的一种重要的数据结构,它是我们后面学习红黑树和AVL树的基础,本文我们就先来看一下二叉查找树的实现原理。 二叉查找树的定义 二叉查找树最重要的一个特征就是:每个结点都含有一个Comparable的键及其相关联的值,该结点的键要大 ...
分类:
其他好文 时间:
2017-04-08 13:38:06
阅读次数:
189
题目:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。思路:维护两个指针,一 ...
分类:
编程语言 时间:
2017-04-08 12:51:54
阅读次数:
167
设计思想: 把一个数组连成环,查找这个环的和最大的连续子数组时走到原来的数组尾部可以再继续加第一个元素,所以等价于构建一个原来数组2倍的数组 查找和最大的连续子数组方法: 设原先数组两倍的数组名为a,长度为2n - 1,原数组长度为n ...
分类:
编程语言 时间:
2017-04-03 18:54:40
阅读次数:
122
public class Second { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub int []a={2,1,3,4,5}; for (int i... ...
分类:
编程语言 时间:
2017-04-03 15:59:52
阅读次数:
149