IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 数据结构与算法 -> 数据结构介绍 -> 正文阅读

[数据结构与算法]数据结构介绍

数据结构

数据结构是计算机存储,组织数据的方式。是指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来跟高的运行或者存储效率。

数据结构有:

栈:栈是一种数据先进后出的模型

队列:队列是一种数先进先出的模型

数组:数组是一种查询快,增删慢的模型

? ? ? ? 查询数据通过地址值和索引定位,查询任意数据耗时相同,查询速度快

? ? ? ? 删除数据时,要将原始数据删除,同时后面每个数据前移,删除效率低

? ? ? ? 添加数据时,添加位置后的每个数据后移,再添加元素,添加效率极低

链表:链表是由一个一个节点组成的,一个节点是由数据和地址值组成的

?链表是一种增删快,查询慢的模型(对比数组)

查询数据必须从头(head)开始查询

链表分为:单向链表和双向链表

数据结构-树

二叉树

?二叉树是由一个一个节点组成的,一个节点又是由父节点地址值,自身地址值,左子节点,右子节点组成的。

度:每一个节点的子节点数量(0<度<2)

二叉树中任意一个节点的度要小于等于2;

?

?二叉查找数

? ? ? ? 二叉查找树,又称二叉排序树或者二叉搜索树。

? ? ? ? 特点:

? ? ? ? ? ? ? ? 1,每一个节点上最多有两个子节点

? ? ? ? ? ? ? ? 2,每一个节点的左子节点都小于自己

? ? ? ? ? ? ? ? 3,每一个节点的右子节点都大于自己

? ? ? ? 二叉查找树添节点

? ? ? ? ? ? ? ? 规则:小的存左边,大的存右边,一样的不存

平衡二叉树

? ? ? ? 二叉树左右两个子树的高度差不超过1

? ? ? ? 任意节点的左右两个字数都是一颗平衡二叉树

?平衡二叉树-旋转

? ? ? ? 左旋

? ? ? ? 右旋

? ? ? ? 触发时机:

? ? ? ? ? ? ? ? 当添加一个节点之后,该树不再是一颗平衡二叉树

?

?注意点:

? ? ? ? 判断添加元素与当前节点的关系

? ? ? ? 成功添加之后,判断是否破坏了二叉树的平衡

?

平衡二叉树-左左,左右

? ? ? ? 左左

? ? ? ? ? ? ? ? 在根节点左子树的左子树有节点插入,导致二叉树不平衡

? ? ? ? 解决办法:右旋

? ? ? ? 左右:

? ? ? ? ? ? ? ? 在根节点左子树的右子树有节点插入,导致二叉树不平衡

? ? ? ? 解决办法:先将根节点的左子树左旋,再将跟节点右旋

平衡二叉树-右右,右左

? ? ? ? 右右

? ? ? ? ? ? ? ? 当根节点右子树的右子树有节点插入,导致二叉树不平衡? ??

? ? ? ? 解决办法:左旋

右左:

? ? ? ? ? ? ? ? 在根节点右子树的左子树有节点插入,导致二叉树不平衡

? ? ? ? 解决办法:先将根节点的右子树右旋,再将跟节点左旋

  数据结构与算法 最新文章
【力扣106】 从中序与后续遍历序列构造二叉
leetcode 322 零钱兑换
哈希的应用:海量数据处理
动态规划|最短Hamilton路径
华为机试_HJ41 称砝码【中等】【menset】【
【C与数据结构】——寒假提高每日练习Day1
基础算法——堆排序
2023王道数据结构线性表--单链表课后习题部
LeetCode 之 反转链表的一部分
【题解】lintcode必刷50题<有效的括号序列
上一篇文章      下一篇文章      查看所有文章
加:2021-10-25 12:43:47  更:2021-10-25 12:46:03 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 8:54:04-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码