数据结构与算法系列
yunnansts
这个作者很懒,什么都没留下…
展开
-
数据结构与算法之排序
一、简单排序(一)、冒泡排序排序原理:1. 比较相邻的元素。如果前一个元素比后一个元素大,就交换这两个元素的位置。2. 对每一对相邻元素做同样的工作,从开始第一对元素到结尾的最后一对元素。最终最后位置的元素就是最大值。如下图所示:(二)、选择排序排序原理:1.每一次遍历的过程中,都假定第一个索引处的元素是最小值,和其他索引处的值依次进行比较,如果当前索引处 的值大于其他某个索引处的值,则假定其他某个索引出的值为最小值,最后可以找到最小值所在的索引2.交换第一个索引处和最小..原创 2020-06-26 22:52:34 · 191 阅读 · 0 评论 -
Java集合List详解
Java集合在实际开发中应用的较多,他与数组相比较其长度是可变的,而数组长度不可变,Java集合主要由2大体系构成,分别是Collection体系和Map体系,其中Collection和Map分别是2大体系中的顶层接口。Collection主要有三个子接口,分别为List(列表)、Set(集)、Queue(队列)。其中,List、Queue中的元素有序可重复,而Set中的元素无序不可重复;List...原创 2020-03-21 00:35:52 · 231 阅读 · 0 评论 -
Java集合Map详解
1、Map集合的概述和特点Map是将键映射到值的对象,一个映射不能包含重复键,每个键最多只能映射一个值;通俗的来说就是,建的值是唯一的,但是value可以是重复的。2、Map与Collection比较Collection中的集合,元素是孤立存在的(理解为单身),向集合中存储元素采用一个个元素的方式存储。Map中的集合,元素是成对存在的(理解为夫妻)。每个元素由键与值两部分组成,通过...原创 2020-03-20 23:28:40 · 139 阅读 · 0 评论 -
数据结构与算法之栈与队列
栈和队列是线性表中比较特殊的两种数据结构,他们中间是具有线性关系的,就是前驱后继的关系。一、栈1、概述栈是只允许在表尾进行插入和删除操作的线性表,在插入和删除的的一段称之为栈顶,另一端就是栈底,它是先进后出的,如下图就是他的一个典型结构:栈同线性表一样,一般包括插入、删除等基本操作。他的实现通常有两种:基于数组的实现(即顺序存储)、基于链表的实现(即链式存储)(1)栈的顺...原创 2020-03-20 17:00:47 · 566 阅读 · 0 评论 -
数据结构与算法之链表
1、概述链表就是通过指针将一个个节点连接起来。链表是非连续的动态内存空间,链表的查找比数组慢,但是添加和删除比数组快。在链表中分为他的种类分为单链表、双向链表、循环链表三种。2、单链表它是由一组节点组合而成的集合,每个节点都使用一个对象的引用指向它的后继。 指向另一个节点的引用叫做链。那么我们通过下面的图来做详细分析,根据上面链表结构发现:每个结点除了存储数据data外,...原创 2020-03-20 16:20:46 · 135 阅读 · 0 评论 -
数据结构与算法之数组
1、数组的定义:数组是相同类型数据的有序集合。他描述的是相同类型的若干个数据,按照一定先后顺序排列组合而成,当中每一个数据称为元素,要访问元素可以通过他的索引(下标去访问他)。2、数组的几个基本要素:(1)、数组一旦被创建,其大小是不可以改变的,也就是长度是确定的(2)、元素类型是相同类型(3)、数组类型可以是任何数据类型,包括基本数据类型和引用类型(4)、元素在堆内存中被分配...原创 2020-03-20 15:30:00 · 180 阅读 · 0 评论 -
数据结构与算法之概述
为什么要学习数据结构和算法?有的兄弟会说面试官经常问这部分知识,确实如此,没有基础连门没有都,那么学习数据结构与算法,是为了打牢底层基础,方便日后开发过程中更好的理解项目,通过数据结构和算法这个系列的文章,希望对大家的学习有更好的理解,下面我们开始学习吧!!!!为什么数据结构和算法要合并在一起,而不单独分开,单独学习数据结构又是枯燥乏味的,而算法是建立在数据结构的基础上的,那么下面我们来简单介...原创 2020-03-18 17:58:57 · 212 阅读 · 0 评论