1 链表1.1 定义 链表【Linked List】:链表是由一组不必相连(不必相连:可以连续也可以不连续)的内存结构(节点),按特定的顺序链接在一起的抽象数据类型。 链表是离散存储线性结构 n个节点离散分配,彼此通过指针相连,每个节点只有一个前驱节点,每个节点只有一个后续节点,首节点没有前驱节点,尾节点没有后续节点。1.1.1 补充 抽象数据类型(Abstract Data Type【ADT】)
课前复习:二分查找时间复杂度(O(N))空间复杂度:范围最大的长度复杂度:粗略衡量算法好坏的刻度尺(工具)两个维度:快慢时间复杂度(重点)使用空间的情况空间复杂度时间复杂度:直接利用允许时间衡量不现实,测试环境多变,不好控制变量前提:如果指定cpu的情况下,单位时间内运行的基本指令个数是固定的如果一个算法需要的指令比另一个算法需要的指令个数小,就可以推出算法A运行的时间更快前提:算法计算的快慢和输
原创 2019-07-23 15:49:07
1387阅读
常见数据结构:线性表、栈、队列、(字符)串、数组、广义表、树、二叉树、图重点:线性表、二叉树基本概念:数据:描述客观事物的数值、字符、以及能输入机器且能被处理的各种符号的集合。 数据项:具有原子性,是不可分割的最小数据单位 数据元素:是数据的基本单位,是数据集合的个体,通常由若干个数据项组成,在计算机中通常作为一个整体来进行处理 数据对象:是性质相同的数据元素的集合,是数据的子集 数据结构:是指互
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
数据结构与算法思维导图数据结构指的是“一组数据的存储结构”,算法指的是“操作数据的一组方法”。 数据结构是为算法服务的,算法是要作用再特定的数据结构上的。最常用的数据结构预算法:数据结构:数组、链表、栈、队列、散列表、二叉树‘、堆、跳表、图、Tire树算法: 递归、排序、二分查找、搜索、哈希算法、贪心算法、分治算法、回溯算法、动态规划、字符串匹配算法1  算法的复杂度 1.1大O复杂度表
create 用来创建和初始化套接字,指针1,内存是cpu唯一可以直接访问的大容量存储设备&是取地址
原创 2022-08-19 15:51:41
125阅读
一、数据结构1、数据结构1.1 数据结构作用:Java中提供了很丰富的容器技术,这些容器技术在底层都是通过各种各样的数据结构来实现的。Java是面向对象的编程语言。我们常见的数据结构:堆栈、队列、数组、链表和红黑树等,作为数据结构的入门。1.2 常见的数据结构数据存储的常用结构有:栈、队列、数组、链表、红黑树。2、栈2.1 概述栈:stack 又称堆栈,它是运算受限的线性表其限制是仅运行在栈的一端
转载 2023-06-07 10:38:01
50阅读
一、数据数据(Data)是信息的载体,它能够被计算机识别、存储和加工处理。它是计算机程序加工的原料,应用程序处理各种各样的数据。 计算机科学中,所谓数据就是计算机加工处理的对象,它可以是数值数据,也可以是非数值数据。数值数据是一些整数、实数或复数,主要用于工程计算、科学计算和商务处理等; 非数值数据包括字符、文字、图形、图像、语音等。二、数据元素数据元素(Data Element)是数据的基本单位
原创 2023-10-30 23:24:59
0阅读
常见数据结构特征: 数据结构 | 特征 | 栈(stack) | 先进后出 队列(queue) | 先进先出 堆(heap) | 按照一定的优先顺序排列,按照元素的优先级取出元素 堆(heap) 堆是一种特殊的树,特殊表现在是完全二叉树,堆的通用特点就是父节点会大于或小于所有子节点。 堆分为大顶堆和
转载 2017-09-14 16:15:00
98阅读
2评论
最近开始刷leetcode,发现许多题目都是算法题,题中涉及到了各种数据结构的实现与拓展。虽然大二上学过数据结构与算法,但是现在已经忘了许多,现在借此机会复习以下。数据结构与算法均使用java语言代码实现。(一)线性结构线性表是一种最常用且最简单的数据结构,它是n个元素的有限序列。一般来说实现线性表有两种方法,一种是采用连续存储空间的数组,另一种是采用链表。(1)数组 数组是一种采用连续空间存储,
1. 数据结构分类按照线性和非线性可以将Java数据结构分为两大类: ①线性数据结构:数组、链表、栈、队列 ②非线性数据结构:树、堆、散列表、图2. 线性数据结构2.1 数组数组是一种将元素存储于连续内存空间的数据结构,并且要求元素的类型相同。// 定义一个数组长度为5的数组array int[] array = new int[5]; // 为数组的元素赋值 array[0] = 4; arra
作者:皮皮猫吖!本篇文章:数据结构与算法是程序猿的必修课,学好数据结构与算法,对于敲代码会有很大的提升。本篇文章主要是关于数据结构与算法的一些基本知识:线性结构、非线性结构、稀疏矩阵、队列。正文如下:1、数据结构包括什么?数据结构包括:线性结构、非线性结构2、线性结构:1)线性结构作为最常用的数据结构,其特点是数据元素之间存在一对一的线性关系2)线性结构有两种不同的存储结构,即顺序存储结构和链式存
回顾:排序分类 (一)插入类 直接插入排序 折半插入排序 希尔排序 (二)交换类 冒泡排序 快速排序 (三)选择类 简单选择排序 堆排序 (四)归并类 归并排序 一:复杂度总结 (一).时间复杂度 1.平均情况下:快些排队(快希排堆) 2.最坏情况下 (二).空间复杂度 (三).其他:容易插,起的好
转载 2018-09-23 00:06:00
115阅读
2评论
1.数据结构基础2.线性表(顺序存储、链式存储)元素之间是有顺序的:第一个元素无前驱,最后一个元素无后继,其他元素都有前驱和后继顺序存储结构:用一段地址连续的存储单元一次存储线性表的数据元素(存取时间复杂度为O(1),插入或删除时间复杂度为O(N),适合数据量不大并且存取操作多的数据)优缺点:链式结构:元素信息+后继元素的地址(读取、插入、删除:时间复杂度O(N))头指针:链表第一个结点的存储位置
整理笔记: 在说集合之前要先了解数据结构数据结构数据结构:存放数据的方式 数组 链表 栈 队列 二叉树1、顺序结构1.底层实现:数组2.特点:1)按照顺序排序,并且每个元素都带有标号 2)除了标号是连续的,内存中的物理空间也是连续的3.功能:增加 - 存储数据 add() 删除 - 删除数据 remove() 修改 - 修改数据 set() 查看 - 获得数据 get()4.优缺点:优点:因为有下
  JDK提供了一组主要的数据结构的实现,如List、Set、Map等常用结构,这些结构都继承自java.util.collection接口。List接口  List有三种不同的实现,ArrayList和Vector使用数组实现,其封装了对内部数组的操作。LinkedList使用了循环双向链表的数据结构,LinkedList链表是由一系列的链表项连接而成,一个链表项包括三部分:链表内容、前驱表项和
文章目录数据结构分治算法布隆过滤器一致id生成器KNN分类算法加密算法分布式一致性算法一致性哈希字典序算法哈希表解决冲突扩容机制树完全二叉树二叉搜索树AVL红黑树B树B+树Trie树图图的遍历最短路径算法最小生成树排序快排并查集贪心算法和动态规划字符串字符串查找 数据结构分治算法1)计算大数乘法2)找最大最小值3)寻找中位数布隆过滤器用于检索一个元素是否在一个集合中数据结构为位图,多个哈希函数,
数据结构王道考研知识点整理(免费版)数据结的喔!注:需要下载xmind进行阅读
原创 2023-06-27 10:29:12
124阅读
数据结构知识点大全 数据结构绪论 数据结构的基本概念 数据结构是一门研究非数值计算的程序设计问题中,计算机的操作对象以及它们之间的关系和操作的学科。 数据元素是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。 数据结构包含三个方面的含义: 逻辑结构 物理结构数据的逻辑结构在计算机中的
原创 2022-06-23 17:36:29
569阅读
一、数据结构是计算机存储、组织数据的方式。是指相互之间存在一种或多种特定关系的数据元素的集合,通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率二、常见的数据结构之栈:1.数据进入栈模型的过程称为:压/进栈2.数据离开栈模型的过程称为:弹/出栈3.栈是一种数据先进后出的模型三、常见的数据结构之数组 :1.查询数据通过索引定位,查询任意数据耗时相同,查询效率高2.删除数据时,要将原始数据
  • 1
  • 2
  • 3
  • 4
  • 5