数据结构与算法思维导图数据结构指的是“一组数据的存储结构”,算法指的是“操作数据的一组方法”。 数据结构是为算法服务的,算法是要作用再特定的数据结构上的。最常用的数据结构预算法:数据结构:数组、链表、栈、队列、散列表、二叉树‘、堆、跳表、图、Tire树算法: 递归、排序、二分查找、搜索、哈希算法、贪心算法、分治算法、回溯算法、动态规划、字符串匹配算法1 算法的复杂度 1.1大O复杂度表
转载
2023-06-20 09:45:40
44阅读
create 用来创建和初始化套接字,指针1,内存是cpu唯一可以直接访问的大容量存储设备&是取地址
原创
2022-08-19 15:51:41
125阅读
1 链表1.1 定义 链表【Linked List】:链表是由一组不必相连(不必相连:可以连续也可以不连续)的内存结构(节点),按特定的顺序链接在一起的抽象数据类型。 链表是离散存储线性结构 n个节点离散分配,彼此通过指针相连,每个节点只有一个前驱节点,每个节点只有一个后续节点,首节点没有前驱节点,尾节点没有后续节点。1.1.1 补充 抽象数据类型(Abstract Data Type【ADT】)
转载
2023-09-09 22:34:29
70阅读
课前复习:二分查找时间复杂度(O(N))空间复杂度:范围最大的长度复杂度:粗略衡量算法好坏的刻度尺(工具)两个维度:快慢时间复杂度(重点)使用空间的情况空间复杂度时间复杂度:直接利用允许时间衡量不现实,测试环境多变,不好控制变量前提:如果指定cpu的情况下,单位时间内运行的基本指令个数是固定的如果一个算法需要的指令比另一个算法需要的指令个数小,就可以推出算法A运行的时间更快前提:算法计算的快慢和输
原创
2019-07-23 15:49:07
1387阅读
一、数据数据(Data)是信息的载体,它能够被计算机识别、存储和加工处理。它是计算机程序加工的原料,应用程序处理各种各样的数据。
计算机科学中,所谓数据就是计算机加工处理的对象,它可以是数值数据,也可以是非数值数据。数值数据是一些整数、实数或复数,主要用于工程计算、科学计算和商务处理等;
非数值数据包括字符、文字、图形、图像、语音等。二、数据元素数据元素(Data Element)是数据的基本单位
原创
2023-10-30 23:24:59
0阅读
常见数据结构特征: 数据结构 | 特征 | 栈(stack) | 先进后出 队列(queue) | 先进先出 堆(heap) | 按照一定的优先顺序排列,按照元素的优先级取出元素 堆(heap) 堆是一种特殊的树,特殊表现在是完全二叉树,堆的通用特点就是父节点会大于或小于所有子节点。 堆分为大顶堆和
转载
2017-09-14 16:15:00
98阅读
2评论
常见数据结构:线性表、栈、队列、(字符)串、数组、广义表、树、二叉树、图重点:线性表、二叉树基本概念:数据:描述客观事物的数值、字符、以及能输入机器且能被处理的各种符号的集合。 数据项:具有原子性,是不可分割的最小数据单位 数据元素:是数据的基本单位,是数据集合的个体,通常由若干个数据项组成,在计算机中通常作为一个整体来进行处理 数据对象:是性质相同的数据元素的集合,是数据的子集 数据结构:是指互
转载
2023-09-19 01:22:55
35阅读
Java数据结构与算法2-线性表学习笔记1.线性表2.线性表-顺序表2.1顺序表的实现2.2顺序表遍历2.3顺序表的容量可变2.4顺序表的时间复杂度2.5 java中ArrayList实现(常用的顺序表)3.线性表-链表3.1单向链表3.1.1单向链表API设计3.1.2 单向链表代码实现3.2双向链表3.2.1 结点API设计3.2.2双向链表API设计3.2.3双线链表代码实现3.2.4ja
转载
2023-08-12 19:30:15
64阅读
回顾:排序分类 (一)插入类 直接插入排序 折半插入排序 希尔排序 (二)交换类 冒泡排序 快速排序 (三)选择类 简单选择排序 堆排序 (四)归并类 归并排序 一:复杂度总结 (一).时间复杂度 1.平均情况下:快些排队(快希排堆) 2.最坏情况下 (二).空间复杂度 (三).其他:容易插,起的好
转载
2018-09-23 00:06:00
115阅读
2评论
一、数据结构1、数据结构1.1 数据结构作用:Java中提供了很丰富的容器技术,这些容器技术在底层都是通过各种各样的数据结构来实现的。Java是面向对象的编程语言。我们常见的数据结构:堆栈、队列、数组、链表和红黑树等,作为数据结构的入门。1.2 常见的数据结构数据存储的常用结构有:栈、队列、数组、链表、红黑树。2、栈2.1 概述栈:stack 又称堆栈,它是运算受限的线性表其限制是仅运行在栈的一端
转载
2023-06-07 10:38:01
50阅读
数据结构王道考研知识点整理(免费版)数据结的喔!注:需要下载xmind进行阅读
原创
2023-06-27 10:29:12
124阅读
数据结构知识点大全 数据结构绪论 数据结构的基本概念 数据结构是一门研究非数值计算的程序设计问题中,计算机的操作对象以及它们之间的关系和操作的学科。 数据元素是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。 数据结构包含三个方面的含义: 逻辑结构 物理结构:数据的逻辑结构在计算机中的
原创
2022-06-23 17:36:29
569阅读
作者:皮皮猫吖!本篇文章:数据结构与算法是程序猿的必修课,学好数据结构与算法,对于敲代码会有很大的提升。本篇文章主要是关于数据结构与算法的一些基本知识:线性结构、非线性结构、稀疏矩阵、队列。正文如下:1、数据结构包括什么?数据结构包括:线性结构、非线性结构2、线性结构:1)线性结构作为最常用的数据结构,其特点是数据元素之间存在一对一的线性关系2)线性结构有两种不同的存储结构,即顺序存储结构和链式存
转载
2023-08-30 15:09:09
41阅读
最近开始刷leetcode,发现许多题目都是算法题,题中涉及到了各种数据结构的实现与拓展。虽然大二上学过数据结构与算法,但是现在已经忘了许多,现在借此机会复习以下。数据结构与算法均使用java语言代码实现。(一)线性结构线性表是一种最常用且最简单的数据结构,它是n个元素的有限序列。一般来说实现线性表有两种方法,一种是采用连续存储空间的数组,另一种是采用链表。(1)数组 数组是一种采用连续空间存储,
转载
2023-06-20 11:00:42
74阅读
1. 数据结构分类按照线性和非线性可以将Java数据结构分为两大类: ①线性数据结构:数组、链表、栈、队列 ②非线性数据结构:树、堆、散列表、图2. 线性数据结构2.1 数组数组是一种将元素存储于连续内存空间的数据结构,并且要求元素的类型相同。// 定义一个数组长度为5的数组array
int[] array = new int[5];
// 为数组的元素赋值
array[0] = 4;
arra
转载
2023-07-11 10:34:53
58阅读
整理笔记: 在说集合之前要先了解数据结构数据结构数据结构:存放数据的方式 数组 链表 栈 队列 二叉树1、顺序结构1.底层实现:数组2.特点:1)按照顺序排序,并且每个元素都带有标号 2)除了标号是连续的,内存中的物理空间也是连续的3.功能:增加 - 存储数据 add() 删除 - 删除数据 remove() 修改 - 修改数据 set() 查看 - 获得数据 get()4.优缺点:优点:因为有下
第一章 绪论一.填空题1. 数据结构包括数据的逻辑结构、数据的存储结构和数据的运算。2. 数据的逻辑结构可以分为线性 和非线性 两大类型。3. 在算法正确的前提下,评价一个算法好坏的两个主要标准是时间复杂度 和空间复杂度 。4. 对于给定的n个元素,可以构造出的逻辑结构有线性、树形 、图形 和集合 四种。5. 数据的存储结构不仅有顺序存储结构、链式存储结构,还有索引存储结构 和散列存储结构 。6. 组成数据的基本单位是数据元素 。7. 数据结构的两...
原创
2023-05-08 13:56:05
1707阅读
四、线性表的逻辑结构线性表是具有相同特性的数据元素的有限序列(一个前驱和后继)。9个基本运算(一次删一个)五、线性表的顺序存储结构线性表的顺序存储结构简称为顺序表。一旦发现某个顺序表有存满并溢出的情况,很可能需要移动其他表以腾出位置为其扩充空间,导致不断地把大片数据移来移去(紧凑操作)。插入删除:见缝插针或根据下标(常见);插入需从后往前挪,删除需从前往后挪(避免元素覆盖);总插入次数
六、线性表的链式存储结构线性表的链式存储结构称为链表(做选择题时有无尾指针是关注重点)。在顺序表中插入和删除元素可能会导致移动大量元素的连带操作(插入或删除操作发生在表尾位置例外),而链表不会。在单链表中找到任意一个结点的位置不像顺序表那么简单,因为顺序表支持随机存取(任意存取),而单链表不支持;
为了尽可能弥补上一条中单链表的不足,开发了双链表、循环单链表和循环双链表等存储结构,这些存储结构可以
十、串串是由零个或多个字符组成的有限序列(即把线性表中的元素限制为字符型),两个串相等当且仅当这两个串的长度相等并且各对应位置上的字符都相同,一个串中任意个连续字符组成的序列称为该串的子串。串采用顺序存储结构存储时称为顺序串(SqString)。顺序串的存储方式有两种:一种是每个字只存一个字符,称为非紧缩格式(其存储密度小);另一种是每个字存放多个字符,称为紧缩格式。串采用链式存储结构存储时称为链