E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
数据结构与算法学习笔记
数据结构与算法学习笔记
数据结构线性表物理结构数组需要连续的空间,查询快,修改慢数组的长度定义了就不能改变了,所以如果插入长度大于了定义长度就需要扩容,一般扩容为原来的两倍,比较耗性能链表不需要连续的空间,修改快,查询较慢单链表,双链表,循环链表逻辑结构栈先进后出队列先进先出栈和队列都可以通过数组或者链表来实现散列表hash:基于数组实现的K-V键值对结构,通过hash函数把K转换为固定的散列值从而定位到需要存储的数组下
大杰or小智
·
2020-11-25 07:16
数据结构与算法学习笔记
(训练营一第二节)---菲波那切数列
斐波那契数列求斐波那契数列矩阵乘法的方法1)斐波那契数列的线性求解(O(N))的方式非常好理解;2)同时利用线性代数,也可以改写出另一种表示:|F(N),F(N-1)|=|F(2),F(1)|*某个二阶矩阵的N-2次方;3)求出这个二阶矩阵,进而最快求出这个二阶矩阵的N-2次方;类似斐波那契数列的递归优化如果某个递归,除了初始项之外,具有如下的形式F(N)=C1*F(N)+C2*F(N-1)+…+
剑侠李逍遥
·
2020-11-08 09:02
数据结构与算法学习笔记
(python)——第三节 递归
前言本人是一个长期的数据分析爱好者,最近半年的时间的在网上学习了很多关于python、数据分析、数据挖掘以及项目管理相关的课程和知识,但是在学习的过程中,过于追求课程数量的增长,长时间关注于学习了多少多少门课程。事实上,学完一门课之后真正掌握的知识并不多,主要的原因是自己没有认真学习和理解温故而知新的这句话的真正含义。因此,从现在开始,我在学习《数据结构与算法——基于python》的课程内容之后,
qq_34740277
·
2020-09-15 14:24
数据结构
代码实战
人工智能
数据结构
python
机器学习
算法
数据结构与算法学习笔记
(python)——第四节 搜索与排序
前言本人是一个长期的数据分析爱好者,最近半年的时间的在网上学习了很多关于python、数据分析、数据挖掘以及项目管理相关的课程和知识,但是在学习的过程中,过于追求课程数量的增长,长时间关注于学习了多少多少门课程。事实上,学完一门课之后真正掌握的知识并不多,主要的原因是自己没有认真学习和理解温故而知新的这句话的真正含义。因此,从现在开始,我在学习《数据结构与算法——基于python》的课程内容之后,
qq_34740277
·
2020-09-15 14:24
人工智能
代码实战
python
数据结构
数据挖掘
python
机器学习
算法
数据结构与算法学习笔记
(python)——第5节 二分搜索
前言本人是一个长期的数据分析爱好者,最近半年的时间的在网上学习了很多关于python、数据分析、数据挖掘以及项目管理相关的课程和知识,但是在学习的过程中,过于追求课程数量的增长,长时间关注于学习了多少多少门课程。事实上,学完一门课之后真正掌握的知识并不多,主要的原因是自己没有认真学习和理解温故而知新的这句话的真正含义。因此,从现在开始,我在学习《数据结构与算法——基于python》的课程内容之后,
qq_34740277
·
2020-09-15 14:52
代码实战
数据结构
python
数据结构与算法学习笔记
(python)——第一节 数组应用程序实战
前言本人是一个长期的数据分析爱好者,最近半年的时间的在网上学习了很多关于python、数据分析、数据挖掘以及项目管理相关的课程和知识,但是在学习的过程中,过于追求课程数量的增长,长时间关注于学习了多少多少门课程。事实上,学完一门课之后真正掌握的知识并不多,主要的原因是自己没有认真学习和理解温故而知新的这句话的真正含义。因此,从现在开始,我在学习《数据结构与算法——基于python》的课程内容之后,
qq_34740277
·
2020-09-15 14:21
python
数据结构
代码实战
数据结构
算法
python
#
数据结构与算法学习笔记
#剑指Offer65:n个骰子的点数和 + 详细解析(Java、C/C++)
2019.3.6《剑指Offer》从零单刷个人笔记整理(66题全)目录传送门这道书上的题牛客网没有,不知道是不是漏掉了。求n个骰子所有可能的情况其实是固定的,一共次。因此求所有点数和s的概率实际上要的是求所有点数和s出现的次数。由于每一粒骰子的情况都是固定的,因此多粒骰子的情况实际上就是每一种情况的不断累加的结果。只有1粒骰子的时候,结果是分布是:1,2,3,4,5,6当有2粒骰子的时候,把1-6
NJU_ChopinXBP
·
2020-09-15 04:58
C/C++
数据结构与算法
JAVA
剑指Offer
数据结构与算法(二)——算法效率的度量方法
目录一、算法的时间复杂度二、推导大O阶方法①常数阶②线性阶③平方阶④对数阶三、算法的空间复杂度统计出生的一枚小白的
数据结构与算法学习笔记
。
冰淇淋lining
·
2020-09-14 23:01
小白的学习笔记
数据结构与算法学习笔记
——算法的时间和空间复杂度
在判断一个算法的优劣性是常常可以忽略算法中的常数项和其它次要项,更加关注最高项的阶数。函数的时间复杂度的分析函数的时间复杂度可以简单的理解为函数的循环次数O(n);常见的时间复杂度常见时间复杂度的大小从小到大依此为:O(1)
我不是大神啊
·
2020-09-14 22:00
java实现的数据结构与算法
JAVA
数据结构与算法学习笔记
一(转载)
二分查找法和线性查找法二分查找法是一种比普通线性查找快得多的查找算法,但只适用于有序集合当中。拿升序排序后的整型数组来说,二分法具体的实现原理是:先把待查找数a与数组中间的那个数x对比,如果相等,直接返回x的索引;如果a大于x,则排除掉数组的前面一半(包括x),接着拿a与剩下一半数组中间的那个数x对比,如果相等,直接返回x的索引;如果a小于x,则排除掉数组后面一半的后面一半……如此循环直到找到目标
rollar1
·
2020-09-12 20:55
data
structure
数据结构与算法学习笔记
之先进先出的队列
前言队列是一种非常实用的数据结构,类似于生活中发排队,可应用于生活,开发中各个方面,比如共享打印机(先请求先打印),消息队列。你想知道他们是怎么工作的么。那就来一起学习一下队列吧正文一、队列的定义?1.一种先进先出的线性表2.只允许入栈push()和出栈pop()在后端(称为rear)进行插入操作,在前端(称为front)进行删除操作。二、如何用代码实现队列?1.java中JDK提供了Queue接
dinghuoruo0011
·
2020-09-12 15:47
数据结构与算法学习笔记
(第一章 绪论)
这章知识点概念比较多,我就画了一张逻辑图来表示了,这样看起来清晰明了。(第一次用XMind,逻辑图第二章以后的内容还没写,持续更新中。。。。。。)程序实战编写一个复数运算的程序,要求以ADT的形式来构建复数及相关运算,并计算如果所示的复数运算。//抽象数据类型(ADT)之复数的定义#includeusingnamespacestd;typedefstruct{floatrealpart;float
Bqv它不想做功
·
2020-09-10 21:39
数据结构
数据结构
数据结构与算法学习笔记
(第一章)
配套材料:《大话数据结构》(主)、中国大学MOOC浙江大学《数据结构》(补充)介绍:数据结构是相互之间存在一种或多种特定关系的数据元素集合数据结构是一门研究非数值计算的程序设计问题中的操作对象以及它们之间关系和操作等相关问题的学科为什么要学习数据结构?1、解决问题方法的效率,跟数据的组织方式、空间的利用效率是直接相关的。2、解决问题方法的效率,也跟算法的巧妙程度有关。相关概念一、数据:可以输入到计
踵音
·
2020-09-10 21:04
数据结构学习
数据结构
c语言
PYTHON
数据结构与算法学习笔记
(三)
目录链表链表的定义单向链表节点的实现单链表的实现链表与顺序表的对比双向链表节点的实现双向链表的实现单向循环链表单向循环链表的实现链表顺序表的构建需要预先知道数据大小来申请连续的存储空间,而在进行扩充时又需要进行数据的搬迁,所以使用起来并不是很灵活。链表结构可以充分利用计算机内存空间,实现灵活的内存动态管理。链表的定义链表(Linkedlist)是一种常见的基础数据结构,是一种线性表,但是不像顺序表
yfqh9588
·
2020-09-10 17:38
#
数据结构与算法学习笔记
#PTA12:二叉搜索树判断(C/C++)
2018.4.20这道题有两个思路,一是根据两个序列分别建二叉搜索树,再根据二叉树的判别方法判别两棵树是否为同一棵树;二是建立其中一棵二叉搜索树,将待检验序列的元素依次进行搜索,若为同一棵二叉搜索树,则每次在树中搜索所访问过的结点应当在序列该数搜索到之前都访问过。如对于3142所建成的二叉搜索树T来说,将待检验序列3412依次搜索,当搜索至2时,341三个结点应当都被访问过。而对于序列3241,当
NJU_ChopinXBP
·
2020-08-25 03:14
PTA
C/C++
数据结构与算法
数据结构与算法学习笔记
(一)几个低时间复杂度的算法
几个低时间复杂度的算法:(1)最大子序列和问题给定整数A[0]~A[N-1],可能有负数,求SUM(k=i;j)A[k]的最大值。intMaxSubsequenceSum(constintA[];intN){intThisSum=0,MaxSum=0;for(inti=0;iMaxSum){MaxSum=ThisSum;}elseif(ThisSum0){Rem=M%N;M=N;N=Rem;}re
GodCedric
·
2020-08-24 10:04
算法
1.
数据结构与算法学习笔记
:稀疏数组
稀疏数组当一个数组中大部分元素为0,或者为同一个值的数组是时,可以用稀疏数组来保存该数组问题分析:编写的五子棋程序中,有存盘退出和续上盘的功能分析:因为该二维数组的很多值都是默认值0,因此记录了很多没有意义的数据,可以采用稀疏数组来优化稀疏数组的处理方式是:记录数一共多少行多少列,有多少个不同的值把具有不同值的元素的行列及值记录在一个小规模的数组中,从而缩小程序的规模上图本来要存储42个值,转成稀
叶纤
·
2020-08-24 10:09
3.
数据结构与算法学习笔记
:单链表的增删改查
链表(LinkedList)链表是有序的列表1.链表分两种,带头节点的链表和没有带头节点的链表,根据实际需求来确定2.链表是以节点的方式来存储的,是链式存储3.每个节点包括data域,next域,指向下一个节点4.如图:发现链表的各个节点不一定是连续存放的在内存中的实际结构逻辑结构单链表的应用实例:使用带head头的单向链表实现–水浒英雄排行榜的管理1.完成对英雄人物的增删改查操作2.第一种方法在
叶纤
·
2020-08-24 07:17
数据结构与算法学习笔记
(一)——入门
数据结构与算法——入门数据结构与算法数据结构什么是数据结构算法(algorithm)什么是算法时间复杂度空间复杂度常数项时间JAVA常用运算符>>:带符号右移>>>:不带符号右移>、>>、|、&、^>>:带符号右移比如数字4,它的二进制是:0……0000100,4>>2=1,意思就是向右移2位,左侧是它的符号位,如果左侧为1,则移动的时候要补上最左侧的符号位(我们知道,二进制左侧代表正负数,0是正
勿白头空悲切
·
2020-08-23 02:22
数据结构与算法
数据结构与算法分析 之 常用的排序算法
更多内容请看
数据结构与算法学习笔记
文章目录简单排序冒泡排序选择排序插入排序高级排序希尔排序归并排序递归归并排序快速排序排序的稳定性在我们的程序中,排序是非常常见的一种需求,提供一些数据元素,把这些数据元素按照一定的规则进行排序
会飞的冰箱
·
2020-08-21 20:32
数据结构与算法分析
数据结构与算法学习笔记
一: 时间复杂度空间复杂度
这篇主要讲解时间复杂度、空间复杂度概念。复杂度分析 数据结构和算法解决的是“快”和“省”的问题。即如何让代码运行的更快,如何让代码更省存储空间。因此代码的执行效率是一个非常重要的考量指标,那如何来衡量代码的执行效率呢?我们可以用时间复杂度、空间复杂度来对代码的执行效率、性能进行评估,也就是算法的复杂度分析。算法的复杂度分析主要包含两个方面: 时间复杂度分析 空间复杂度分析为什么要进行复杂
乌班图ysm
·
2020-08-18 03:35
#
2.12
数据结构与算法
LeetCode(53):最大子序和 Maximum Subarray(Java)
#
数据结构与算法学习笔记
#PTA4:分治算法求最大子列和(C/C++)#
数据结构与算法学习笔记
#PTA3:在线处理算法求最大子列和,并返回最大子列和头尾元素(C/C++)(2004年浙大计科考研复试)传送门
NJU_ChopinXBP
·
2020-08-18 00:29
数据结构与算法
JAVA
LeetCode
数据结构与算法学习笔记
4--------中缀表达式转后缀表达式
一.什么是中缀表达式前缀(波兰式)、中缀、后缀(逆波兰式)表达式三者都是运算表达式,只是形式有区别,即运算符相对与操作数的位置不同:前缀表达式的运算符位于与其相关的操作数之前;后缀表达式运算符位于与其相关的操作数之后。中缀表达式是人常用的运算表达式,对于人脑来说容易理解,但是对计算机来说计算中缀表达式较为困难,故需要把中缀表达式转为后缀表达式再进行运算。publicstaticListparseS
Atomatom98
·
2020-08-16 06:55
数据结构与算法java学习笔记
小白的
数据结构与算法学习笔记
(十九)----二叉树的性质与存储结构
一、性质1、在二叉树的第i层上至多有个结点(i>=1)2、深度为k的二叉树至多有个结点(k>=1)注:以上两条考虑满二叉树即可3、对任意一棵二叉树,如果其终端结点数为n0,度为2的结点数为n2,则n0=n2+1证明:设度为1的结点数为n1,则二叉树结点总数为n=n0+n1+n2总连接数=n-1=n1+2*n2所以n0+n1+n2-1=n1+n2+n2所以n0=n2+14、具有n个结点的完全二叉树的
啥都不会的小白
·
2020-08-15 03:31
数据结构与算法
#
数据结构与算法学习笔记
#剑指Offer57:按之字形顺序打印二叉树(Java、C/C++)
2019.2.26《剑指Offer》从零单刷个人笔记整理(66题全)目录传送门之前做过层序遍历二叉树的题:#
数据结构与算法学习笔记
#剑指Offer21:从上往下打印二叉树/层次遍历二叉树(Java、C/
NJU_ChopinXBP
·
2020-08-14 18:33
C/C++
数据结构与算法
剑指Offer
JAVA
数据结构与算法
剑指Offer
二叉树
层序遍历
双向链表
#
数据结构与算法学习笔记
#剑指Offer42:翻转单词顺序列 + 测试用例(Java、C/C++)
2019.1.2《剑指Offer》从零单刷个人笔记整理(66题全)目录传送门网上很多方法,包括原书上的方法都是对句子进行两次翻转,第一次整个字符串翻转,第二个以空格为间隔对每一个单词进行翻转。如果用Java的话可以不用这么麻烦,利用split按空格拆分字符串,把最后一个字符串转为StringBuilder,再从后往前不断append即可。题目描述输入一个英文句子,翻转句子中单词的顺序,但单词内字符
NJU_ChopinXBP
·
2020-08-12 15:03
C/C++
数据结构与算法
JAVA
剑指Offer
#
数据结构与算法学习笔记
#剑指Offer35:数字在排序数组中出现的次数 + 测试用例(Java、C/C++)
2018.10.24《剑指Offer》从零单刷个人笔记整理(66题全)目录传送门今天是程序员节,但是程序员有啥节好过的,还是好好干活吧~这道题也是一道效率题,根据实际情况的不同有两个比较好用的方法:方法一:平均复杂度o(n)。二分找到某一个K的位置,从该位置起向前向后分别计数后求和。对K数量较少时好用。方法二:平均复杂度o(logn)。找到K起始和结束位置,做差计算中间K的个数。对K数量较多时好用
NJU_ChopinXBP
·
2020-08-12 15:02
C/C++
数据结构与算法
JAVA
剑指Offer
#
数据结构与算法学习笔记
#剑指Offer19:最小栈/包含min函数的栈 + 测试用例(Java、C/C++)
2018.8.16《剑指Offer》从零单刷个人笔记整理(66题全)目录传送门这道题目的意思是要实现一个栈,这个栈还要能够以o(1)的复杂度给出最小值,也就是直接能给出最小值。初看一下好像用一个min存储当前的最小值即可。可是细细一想,如果栈弹出了一个元素,那次小值要怎么找呢?正确方法是开两个栈(一个datastack,一个minstack),再用一个min存储压栈时的最小值,每次元素入datas
NJU_ChopinXBP
·
2020-08-12 15:02
数据结构与算法
C/C++
剑指Offer
JAVA
#
数据结构与算法学习笔记
#剑指Offer13:求链表中倒数第K个结点+测试用例(Java、C/C++)
2018.8.9《剑指Offer》从零单刷个人笔记整理(66题全)目录传送门题目不难,定义一前一后两个指针,前一个指针比后一个指针快K-1个结点,然后两个指针同步推进,直到前一个指针到达链表尾部,后一个指针所指向的位置就是链表中倒数第K个结点。需要注意的边界条件:1.指针为null,2.参数为0,3.参数大于结点数同样的题目还有一些变式:1.求链表的中间结点——前一个指针比后一个指针速度快一倍的速
NJU_ChopinXBP
·
2020-08-12 15:02
C/C++
数据结构与算法
JAVA
剑指Offer
#
数据结构与算法学习笔记
#剑指Offer15:顺序链表合并+测试用例(Java、C/C++)
2018.8.12《剑指Offer》从零单刷个人笔记整理(66题全)目录传送门发现很久很久之前刚刚开始学数据结构的时候就用C++写过这道题:#
数据结构与算法学习笔记
#PTA2:顺序链表合并(C/C++)
NJU_ChopinXBP
·
2020-08-12 15:02
C/C++
数据结构与算法
剑指Offer
JAVA
#
数据结构与算法学习笔记
#剑指Offer50:正则表达式匹配 + 动态规划(Java、C/C++)
2019.4.20更新刷了LeetCode一道原题,靠着回忆手撕了递归的方法,没想到在Leetcode上效率排名很低,才发现这道题可以用DP大法来解。参考我新发的博文:LeetCode(10):正则表达式匹配RegularExpressionMatching(Java)。2019.2.19《剑指Offer》从零单刷个人笔记整理(66题全)目录传送门一开始做这道正则表达式题不断用判别和循环,理了一大
NJU_ChopinXBP
·
2020-08-09 23:38
C/C++
数据结构与算法
剑指Offer
JAVA
#
数据结构与算法学习笔记
#剑指Offer25:二叉搜索树转双向链表 + 先序与中序遍历做法 + 测试用例(Java、C/C++)
#
数据结构与算法学习笔记
#PTA8:实现
NJU_ChopinXBP
·
2020-08-07 16:29
数据结构与算法
剑指Offer
JAVA
C/C++
数据结构与算法学习笔记
:双向链表和循环链表
写在前面:记录学习《恋上数据结构与算法》的过程。课程链接地址:https://ke.qq.com/course/385223目录双向链表获取index位置对应的节点对象清空clear添加add(intindex,Eelement)删除remove(intindex)重写toString代码单元测试双向链表VS单向链表双向链表VS动态数组源码分析clear单向循环链表双向循环链表添加元素删除元素案例
Asinmy
·
2020-08-07 12:38
数据结构与算法学习笔记
数据结构与算法学习笔记
2--------环形队列
为什么要有环形队列?因为普通的队列空间无法复用,单纯的将rear,front两个指针进行增加,导致出队列的数据所占的空间没法使用,这样的话队列的空间会越来越少,于是出现了环形队列.环形队列的变化首先,环形队列中rear,和front指代的含义发生了变化:rear指向队列最后一个数据的后一个位置;front指向队列的第一个数据的位置其次,环形队列中进行约定,预留一个空间,也就是rear指向的那个位置
Atomatom98
·
2020-08-04 13:33
数据结构与算法java学习笔记
数据结构与算法学习笔记
:二叉搜索树(下)
写在前面:记录学习《恋上数据结构与算法》的过程。课程链接地址:https://ke.qq.com/course/385223目录二叉树的遍历(适用于所有二叉树)前序遍历中序遍历后序遍历层序遍历设计遍历接口增强遍历接口树状打印二叉树遍历的应用计算二叉树的高度完全二叉树的判断翻转二叉树根据遍历结果重构二叉树前驱节点(predecessor)后继节点(successor)删除节点-叶子节点删除节点-度为
Asinmy
·
2020-08-04 13:27
数据结构与算法学习笔记
数据结构与算法学习笔记
:单向链表
写在前面:记录学习《恋上数据结构与算法》的过程。课程链接地址:https://ke.qq.com/course/385223目录链表(LinkedList)链表的设计接口设计清空(clear)添加元素-add(intindex,Eelement)删除元素remove(intindex)获取元素下标索引重写toString算法可视化网站案例练习:删除节点案例练习:反转一个链表递归非递归案例练习:判断
Asinmy
·
2020-08-04 13:27
数据结构与算法学习笔记
数据结构与算法学习笔记
:二叉搜索树(上)
写在前面:记录学习《恋上数据结构与算法》的过程。课程链接地址:https://ke.qq.com/course/385223目录二叉搜索树的引入二叉搜索树(BinarySearchTree)BST接口设计节点判断不能为空根节点添加根节点添加节点找到父节点创建新节点,添加定义比较接口,元素必须实现接口改善比较方式,创建比较器兼容以上两种比较方法或者使用匿名类打印BST推荐几个网站值相等处理(覆盖原节
Asinmy
·
2020-08-04 13:27
数据结构与算法学习笔记
#
数据结构与算法学习笔记
#PTA19:拯救007基础版 Saving James Bond - Easy Version(Java)
2018.10.22简单重述一下,JamesBond被困在直径15的湖心岛上,整个湖可以模拟成一个100*100的矩阵,湖上有可供跳跃的陆地点(其实是鳄鱼背),每次007有一个最大的跳跃半径maxdist,问007能否成功逃脱跳到岸上。这道题实际上是一道图题,但是却并不需要用邻接表或邻接矩阵建立一个图,只需要记录下所有可供跳跃的结点,把跳跃路径作为边,再进行一个简单的DFS,判断能够到达只需要一个
NJU_ChopinXBP
·
2020-08-02 13:55
PTA
JAVA
数据结构与算法
数据结构与算法学习笔记
(第二章 线性表)
记一些第一次学习的时候不知道或者理解有偏差的东西吧记住下面这张表关于顺序表元素存储位置的计算先举个例子:如果每个元素占用8个单元,ai的存储位置是2000单元,则ai+1的存储位置是:?答案:2008单元。(别理解错了,让你求的是存储位置不是下标!!!)抛砖引玉:所有数据元素的存储位置均可由第一个元素的存储位置得到(“由第i个元素的存储位置得到”这里推得的):LOC(ai)=LOC(a1)+(i-
Bqv它不想做功
·
2020-07-30 05:13
数据结构
小白的
数据结构与算法学习笔记
(四)----线性表的顺序存储结构及相关操作
顺序存储结构是物理存储结构的一种,也是一种逻辑与物理保持一致性,说白了就是在一片地址连续内存空间存储数据的这样一种结构。举个例子来说,假如线性表中每个元素占a个存储单元,表中第1个元素在l(1)处,那么显然任意第i个元素在l(1)+(i-1)*a处。线性表的相关操作离不开四个字:取,读,插,删。由上面那个例子,线性表的存,读都是十分方便的,不管是要求在哪个位置操作,算一下就阔以了,所以时间复杂度都
啥都不会的小白
·
2020-07-29 23:40
数据结构与算法
小白的
数据结构与算法学习笔记
(五)----线性表的链式存储结构
前面讲了线性表的顺序存储,就像排队一样,一个挨着一个这样存储,由于逻辑与物理结构的一致性,可以节省描述元素之间逻辑关系的空间而且易于存读数据,但是插入删除元素时却要耗费很多时间,下面介绍的链式存储结构通过指针可以很好解决这个问题。链式存储结构,顾名思义,就像一条链,把所有元素串在一块,事实上,指针在这里也叫链。链式存储不像顺序存储,它存储元素是一种“乱放”式存储,不是一个挨一个这种,而是哪有空地就
啥都不会的小白
·
2020-07-29 23:40
数据结构与算法
数据结构与算法学习笔记
(11)--查找
查找查找(或检索)是在给定信息集上寻找特定信息元素的过程。待查找的数据单位(或数据元素)称为记录,在学生管理系统中,一个学生的全部信息称为一条记录。如果这个学生的某个属性可以作为他的标识属性,称为关键字key。如果这个key值可以最为学生的唯一标识,那么称为主key。我们就是通过key值,从一堆数据中来检索我们想要的那条记录。称为查找!查找的方法不同的应用场合适用不同的方法,查找方法有很多,有顺序
王建峰
·
2020-07-29 18:06
计算机基础-数据结构与算法
数据结构与算法学习笔记
-线性表(3)
2.2.2线性表的链式存储线性表的链式存储结构链式存储:用一组任意的存储单元存储线性表中的数据元素。用这种方法存储的线性表简称线性链表。存储链表中结点的一组任意的存储单元可以是连续的,也可以是不连续的,甚至是可以零散分布在内存的任意位置上的。结点的逻辑顺序和物理顺序不一定相同。为了正确表示结点间的逻辑关系,在存储每个结点值的同时,还必须存储指示其直接后继结点的地址,称为指针(pointer),这两
悟空爱洗头
·
2020-07-29 15:20
学习笔记
数据结构与算法学习笔记
-线性表(2)
2.2线性表的实现2.2.1线性表的顺序存储顺序存储:把线性表的结点按逻辑顺序依次存放在一组地址连续的存储单元里。用这种方法存储的线性表简称顺序表顺序存储的线性表的特点:线性表的逻辑顺序与物理顺序一致;数据元素之间的关系是以元素在计算机内“物理位置相邻”来体现。设每个元素需占用/个存储单元,以所占的第一个单元的存储地址作为数据元素的存储位置。则线性表中第i+1个数据元素的存储位置LOC(ai+1)
悟空爱洗头
·
2020-07-29 15:20
学习笔记
数据结构与算法学习笔记
-线性表(1)
数据结构-线性表2.1线性表的定义和基本操作线性表是一种典型的线性结构。存在一个唯一的被称为“第一个”的数据元素;存在一个唯一的被称为“最后一个”的数据元素;除第一个元素外,每个元素均有唯一一个直接前驱;除最后一个元素外,每个元素均有唯一一个直接后继。线性表(LinearList):是由n(n>=0)个数据元素(结点)a1,a2,…,an组成的有限序列。所有节点具有相同的数据类型。数据元素的个数n
悟空爱洗头
·
2020-07-29 13:59
学习笔记
#
数据结构与算法学习笔记
#PTA18:图(邻接表)+DFS(深度优先搜索)+BFS(广度优先搜索)(C/C++)
2018.5.22上周解决完了树的大BOSS,这周正式进入图了。图根据边的性质可以分为有权图和无权图,有向图和无向图。无论哪一种图,都可以用邻接矩阵与邻接表两种数据结构表示,对于稠密图来说,邻接矩阵更方便一些,对于稀疏图来说,邻接表效率更高。图有两种遍历方法,深度优先搜索(DFS,DepthFirstSearch)与广度优先搜索(BFS,BreadthFirstSearch)。这题意思很简单,只要
NJU_ChopinXBP
·
2020-07-29 05:58
PTA
C/C++
数据结构与算法
数据结构与算法学习笔记
二-----顺序表
什么是顺序表顺序表是指一段物理地址连续的存储单位存储数据的线性结构。由于可以通过物理地址直接定位索引,所以获取顺序表中的某个元素所需的时间复杂度为O(1)。两种顺序表的布局顺序表有两种布局,一种是基本布局,一种是元素外置布局;基本布局的顺序表存储的是同一类型的数据,即每个数据元素的占用的存储单元大小都是一样,所以对于该顺序表中元素的读取就可以依靠各个数据元素的物理地址偏移量;元素外置顺序表:是指存
Hajo_
·
2020-07-28 22:37
算法与数据结构
数据结构与算法学习笔记
:二叉树
写在前面:记录学习《恋上数据结构与算法》的过程。课程链接地址:https://ke.qq.com/course/385223目录树形结构树的基本概念二叉树(BinaryTree)二叉树(BinaryTree)的性质真二叉树(ProperBinaryTree)满二叉树(FullBinaryTree)完全二叉树(ComplateBinaryTree)完全二叉树(ComplateBinaryTree)的
NGC_2070
·
2020-07-17 14:00
数据结构与算法学习笔记
二叉树
数据结构
数据结构与算法学习笔记
(第四章 串、数组、广义表)(2)数组
目录数组维度:一维二维三维N维结论,特点定位某个元素顺序存储方式二维数组的顺序存储方式(行序为主序)矩阵特殊矩阵的压缩存储数组定义:按一定格式排列起来的具有相同类型的数据元素的集合维度:一维若线性表中的数据元素是非结构的简单元素就称该数组是一维数组逻辑结构是线性结构,定长线性表声明格式:数据类型变量名称[长度];二维一维数组的数据元素又是一维数组,可以这么理解逻辑结构非线性结构:每个数据元素既在一
Bqv它不想做功
·
2020-07-13 21:00
数据结构
数据结构与算法学习笔记
之写链表代码的正确姿势(下)
数据结构与算法学习笔记
之写链表代码的正确姿势(下)前言想成功你就得有决心,并有方法和技巧的付出精力。正文如何优雅的写出链表代码?
zzjframework
·
2020-07-12 08:48
上一页
1
2
3
4
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他