
数据结构与算法
文章平均质量分 81
陈鹏的博客
保持常态
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
数据结构和算法总结
数据结构和算法原创 2022-10-27 15:18:19 · 481 阅读 · 0 评论 -
数据结构——八大排序算法(面试必备)
1. 交换排序——冒泡排序从要排序序列的第一个元素开始,一次比较相邻元素的值,发现逆序则交换,将值较大的元素逐渐从前向后移动。public void bubbleSort(int[] arr){ for (int i = 0; i < arr.length - 1; i++) { for (int j = 0; j < arr.length - 1 - i; j++) { if (arr[j] > arr[j + 1]) { .转载 2021-05-22 19:08:07 · 780 阅读 · 1 评论 -
数据结构之哈希表
一.什么是哈希表?我们在这篇文章将要学习最有用的数据结构之一—哈希表,哈希表的英文叫 Hash Table,也可以称为散列表或者 Hash 表。哈希表用的是数组支持按照下标随机访问数据的特性,所以哈希表其实就是数组的一种扩展,由数组演化而来。可以说,如果没有数组,就没有散列表。哈希表存储的是由键(key)和值(value)组成的数据。 例如,我们将每个人的性别作为数据进行存储,键为人名,值为对应的性别,其中 M 表示性别为男,F 表示性别为女。为什么需要哈希表?为了和哈希表进行对比,我们先将这转载 2021-05-21 10:03:29 · 1396 阅读 · 3 评论 -
数据结构之队列
一.什么是队列?与前面提到的数据结构相同,队列中的数据也呈线性排列。虽然与栈有些相似,但队列中添加和删除数据的操作分别是在两端进行的,就和队列这个名字一样,把它想象成排成一队的人更容易理解。在队列中,处理总是从第一名开始往后进行,而新来的人只能排在队尾。队列是什么?如上就是队列的概念图,现在队列中只有数据 Blue。往队列中添加数据时,数据被加在最上面。然后,队列中添加了数据 Green。往队列中添加数据的操作叫作入队。紧接着,数据 Red 也入队了。从队列中取出(删除)数据时,是从最下转载 2021-05-21 09:51:19 · 188 阅读 · 1 评论 -
数据结构之栈
一.什么是栈?本文将介绍一个重要的数据结构—栈,和之前讲到的链表、数组一样也是一种数据呈线性排列的数据结构,不过在这种结构中,我们只能访问最新添加的数据。栈就像是一摞书,拿到新书时我们会把它放在书堆的最上面,取书时也只能从最上面的新书开始取。栈如上就是栈的概念图,现在存储在栈中的只有数据 Blue。往栈中添加数据的时候,新数据被放在最上面。然后,我们往栈中添加了数据 Green。往栈中添加数据的操作叫作入栈。接下来,数据 Red 入栈。从栈中取出数据时,是从最上面,也就是最新的数据开始取原创 2021-05-21 09:45:03 · 376 阅读 · 1 评论 -
数据结构之数组
一.什么是数组?今天要介绍的主角就是-数组,数组也是数据呈线性排列的一种数据结构。在数组中,访问数据十分简单,而添加和删除数据比较耗工夫。数组如上就是数组的概念图,Blue、Yellow、Red 作为数据存储在数组中,其中 a 是数组的名字,后面 [] 中的数字表示该数据是数组中的第几个数据,该数字也就是数组下标,下标从 0 开始计数,比如 Red 就是数组 a 的第 2 个数据。那么为什么许多编程语言中的数组都从 0 开始编号的呢?先别急,可以先自己思考下,将会在文末进行讲解。从图中可以看出转载 2021-05-21 08:12:14 · 111 阅读 · 1 评论 -
数据结构之数组详解
一.简介数组(Array)是由相同类型的元素(element)集合组成的固定长度(Size)的一种数据结构。在内存中是连续存储的,因此可以通过索引(Index)计算出某个元素的地址。下面介绍都是以java为示例。对于没有详细了解过的 相信有所收获。二.基础知识声明ype arrayName[] 或者 type[] arrayName。如:int arrInt[] 或者 int[] arrInt声明过程,只是告诉编译器: arrInt变量保存了一个int类型的数组。这个过程并没有分配内存转载 2021-05-20 13:34:03 · 1465 阅读 · 1 评论 -
数据结构之链表
1.链表介绍链表是数据结构之一,其中的数据呈线性排列。在链表中,数据的添加和删除都较为方便,就是访问比较耗费时间。如上图所示就是链表的概念图,Blue、Yellow、Red 这 3 个字符串作为数据被存储于链表中,也就是数据域,每个数据都有 1 个指针,即指针域,它指向下一个数据的内存地址,其中 Red 是最后 1 个数据,Red 的指针不指向任何位置,也就是为 NULL,指向 NULL 的指针通常被称为空指针。在链表中,数据一般都是分散存储于内存中的,无须存储在连续空间内。因为数据都是分散存原创 2020-12-13 15:16:02 · 1021 阅读 · 1 评论 -
数据结构前言
1.什么是数据结构数据结构是计算机存储、组织数据的方式。对于特定的数据结构(比如数组),有些操作效率很高(读某个数组元素),有些操作的效率很低(删除某个数组元素)。程序员的目标是为当前的问题选择最优的数据结构。数据结构,直白地理解,就是研究数据的存储方式。例如,一直以来大家面对的数据存储,都是类似存储 1、2、{a,b,c} 这样的问题,解决方式无疑是用变量或者数组对数据进行存储,即:int a=1; int b=2; char str[3]={‘a’,‘b’,‘c’};但是,如果要存储这样一组数原创 2020-12-13 10:34:24 · 2897 阅读 · 4 评论