数据结构
起一个好听的名字
学无止境,学海无涯,乐在其中
展开
-
Java数据结构和算法——数组、单向链表、双向链表
概要线性表是一种线性结构,它是具有相同类型的n(n≥0)个数据元素组成的有限序列。本文先介绍线性表的几个基本组成部分:数组、单向链表(One-way LinkedList)、双向链表(two-way linked-list )。数组数组有上界和下界,数组的元素在上下界内是连续的。存储10、20、30、40、50的数组的示意图如下:数组的特点: 1. 数据是连续的;转载 2017-07-24 14:07:49 · 325 阅读 · 0 评论 -
数组、链表、Hash
在程序中,存放指定的数据最常用的数据结构有两种:数组和链表。 数组和链表的区别: 1、数组是将元素在内存中连续存放。 链表中的元素在内存中不是顺序存储的,而是通过存在元素中的指针联系到一起。 2、数组必须事先定义固定的长度,不能适应数据动态地增减的情况。当数据增加时,可能超出原先定义的元素个数;当数据减少时,造成内存转载 2017-07-24 14:10:09 · 233 阅读 · 0 评论 -
HashMap
HashMap也是我们使用非常多的Collection,它是基于哈希表的 Map 接口的实现,以key-value的形式存在。在HashMap中,key-value总是会当做一个整体来处理,系统会根据hash算法来来计算key-value的存储位置,我们总是可以通过key快速地存、取value。下面就来分析HashMap的存取。一、定义 HashMap实现了Map接口,继承Abs转载 2017-07-24 16:36:43 · 220 阅读 · 0 评论 -
二分查找算法(JAVA)
1.二分查找又称折半查找,它是一种效率较高的查找方法。2.二分查找要求:(1)必须采用顺序存储结构 (2).必须按关键字大小有序排列3.原理:将数组分为三部分,依次是中值(所谓的中值就是数组中间位置的那个值)前,中值,中值后;将要查找的值和数组的中值进行比较,若小于中值则在中值前 面找,若大于中值则在中值后面找,等于中值时直接返回。然后依次是一个递归过程,将前半部分或者后半部分继续分解为三部分。4...转载 2018-07-07 09:24:24 · 157 阅读 · 0 评论