首页
博客
源码
资源
博客
源码
写文章
发布博客
发布资源
登录
X
数据结构
相关资讯
热门
最新
后端
01-01 08:00
后端
数据结构学习笔记(一) - 基本概念
数据结构学习笔记(一) - 基本概念,第一章基本概念1数据结构数据结构没有官方的或统一的定义,各种书籍或资料中对数据结构的定义都不完全相同,但是可以发现数据结构和算法总是同时被提及,那么应该如何定义数据结构?通过以下三个例子来理解:如何在书架上摆放图书图书的摆放要使得两个相关操作方便实现:能够想到三种方法:结论:解决问题方法的效率,跟数据的组织方式有关依次摆放:方便插入新书,但是难以找到指定的书按
87
后端
01-01 08:00
后端
数据结构—树、二叉树和平衡二叉树(1)
数据结构—树、二叉树和平衡二叉树(1),树以及树的基本概念树结构是一种非线性存储结构,n个结点组成具有层次关系的有限集合,其中n>=0当n=0时称为空树存储的是具体一对多的关系的数据元素的集合结点度根结点子树树的性质有且只有一个根结点,根结点没有父节点树和链表链表可以看成树的从根节点触发到叶子节点一个路径二叉树非线性数据结构数据元素(结点)按分支关系组织起来的结构每个结点最多有两个子树的有序树满二
107
后端
01-01 08:00
后端
数据结构与算法-稀疏数组
数据结构与算法-稀疏数组,数据结构与算法-稀疏数组稀疏数组1使用场景五子棋游戏中如果要保存游戏进度,可以使用一个二维数组保存棋子位置,结果如图所示:其中,0代表没有棋子,1代表黑子,2代表白子。这样的一个15x15的棋盘总共要存225个元素,但是有大量的重复数据,比如0,这样就造成了空间浪费。我们可以使用一个稀疏数组来存储这个棋盘。2思路一个稀疏数组总共有三列数据。稀疏数组的第一行数据中:第一列存
95
后端
01-01 08:00
后端
数据结构与算法-基础(九)二叉搜索树
数据结构与算法-基础(九)二叉搜索树,摘要如果使用线性表存放n个元素时,时间复杂度是O(n)。如果使用二分法搜索,可以降低时间复杂度,为O(logn),但是添加和删除的平均时间复杂度是O(n)。使用二叉搜索树,可以让添加、删除、搜索的最坏时间复杂度优化到O(logn)。二叉搜索树,英文为BinarySearchTree,简称BST。它是二叉树中的一种,应用的场景也是非常广泛,其他地方也叫做二叉查找
84
后端
01-01 08:00
后端
数据结构与算法-基础(八)遍历二叉树
数据结构与算法-基础(八)遍历二叉树,遍历是数据结构中的常见操作,就是把所有的元素遍历一遍。线性结构的遍历无非是两种,正序遍历和逆序遍历,也就是从头依次遍历或者从尾依次遍历。二叉树的遍历方式有4种,是根据不同的节点访问顺序来区分:遍历方法访问顺序备注前序遍历(PreorderTraversal)根节点、左子树、右子树中序遍历(InorderTraversal)左子树、根节点、右子树后序遍历(Pos
68
后端
01-01 08:00
后端
数据结构与算法入门系列一之数据结构入门与数组
数据结构与算法入门系列一之数据结构入门与数组,程序设计等于什么?程勋设计的实质是对确定问题,选择一种好的结构,加上设计一种好的算法。所以说程序设计=数据结构+算法(也有人觉得程序设计的本质就只是数据结构,认为算法只是解数据结构的一种过程)。Tips:高德纳开创了数据结构这门课什么是数据?数据是描述客观事物的符号,数据=符号可以输入到计算机中能够被计算机识别数据元素、对象、项数据元素:数据的基本单位
240
后端
01-01 08:00
后端
数据结构与算法之字典树
数据结构与算法之字典树,前言字典树(Trie树)这一数据结构是不太常见但是十分好用而一种数据结构,博主也就是最近一段时间做了几道字节的题目才了解到字典树这一数据结构。并将自己的学习内容跟大家分享。定义首先,何为字典树(Trie树)?顾名思义,就是在查询目标时,像字典一样按照一定排列顺序标准和步骤访问树的节点,举一个简单例子,英文字典查单词"He",那么第一步你肯定要按照a-z的顺序先找到h这个首字
291
后端
01-01 08:00
后端
数据结构之二叉树——遍历(递归与非递归)
数据结构之二叉树——遍历(递归与非递归),定义二叉树,一个有穷的结点集合。这个集合可以为空,如果不为空,则它是由根结点和称其为左子树和右子树的两个不相交的二叉树组成。二叉树有五种基本形态:顺序存储完全二叉树可以使用顺序存储结构,按从上至下,从左到右顺序存储,如果一颗完全二叉树如下:那么顺序存储可以为:由上面的结构,可以得到,n个结点的完全二叉树的结点父子关系:非根结点(序号i>1)的父节点的序号为
66
后端
01-01 08:00
后端
数据结构与算法学习笔记
数据结构与算法学习笔记,一.复杂度复杂度分析,是贯彻数据结构和算法中的一项基础技能,学习数据结构和算法的目的,无非就是要写出占用空间更小、运行时间更短的代码。时间复杂度大O表示法:T(n)=O(f(n))表示代码执行时间随数据规模增长的变化趋势(注意只是表示「变化趋势」)由于只是表示变化趋势,一般计算复杂度时,会忽略低阶、常量、系数几种常见的时间复杂度量级:多项式量级:常数阶O(1)对数阶O(lo
106
后端
01-01 08:00
后端
数据结构学习笔记
数据结构学习笔记,1.位运算左移<<右移>>:可以用在二分算法中取中间值,比如13>>12.按位操作按位与&:每一位都为1,结果才为1按位或|:其中一位为1,结果就是1按位异或^:每一位都不同,结果才为13.栈特点:后进先出(LIFO)算法基本思想:因为只能从栈的顶部压入数据也只能从栈的顶部弹出数据,所以可以用一个单链表实现。因为只针对栈顶元素操作,所以借用单链表的头可以让所有的操作在O(1)的时
145
«
1
2
3
4
5
6
7
8
...
12
13
»