![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
MisakiFx
个人博客:https://misakifx.github.io/
展开
-
【DS】第五章-排序
排序基本概念 本章会介绍并且实现,常用的几种排序算法及其思想,但是关于排序除了时间复杂度和空间复杂度这两个衡量算法的基本标准外,还引入了稳定的概念。稳定 如果一个排序算法排序结束后,表中相同大小的元素依然可用保持和排序前一样的相对顺序则称该排序是稳定的,反之是不稳定的。 举个例子,以下这个序列中,出现了相同的元素3,为了便于区分,我将其中一个用红色标记出来。 如果我们进行了某...原创 2020-01-10 00:08:47 · 222 阅读 · 0 评论 -
【DS】第四章-二叉树
树的概念及结构什么是树 树是一种非线性的数据结构,它是由n(n>=0)个有限结点组成一个具有层次关系的集合。把它叫做树是因 为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。它具有以下的特点:每个结点有零个或多 个子结点;没有父结点的结点称为根结点;每一个非根结点有且只有一个父结点;除了根结点外,每个子结 点可以分为多个不相交的子树。 下图就是一棵常见的树。树的常用名词...原创 2020-01-06 17:47:17 · 198 阅读 · 0 评论 -
【DS】第三章-栈和队列
第三章 栈和队列栈栈的特性 栈是一种线性结构,这种特殊的线性结构有着最大的特点——后进先出(Last In First Out)。最后压入栈的元素会最先被弹出。 由于栈只用在同一端进行插入和删除,因此我们优先选择使用顺序表,因为在顺序表的末尾插入和删除的时间复杂度都是O(1),并且操作简单实现 栈的实现可以基于顺序表、链表和双端队列,这里使用最简单方法基于顺序表来实现栈。#in...原创 2019-12-14 21:01:36 · 169 阅读 · 0 评论 -
【DS】栈的压入、弹出序列
栈的压入、弹出序列题目 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。(注意:这两个序列的长度是相等的) https://www.nowcoder.com/practi...原创 2019-10-25 11:21:37 · 178 阅读 · 1 评论 -
【DS】第二章-顺序表和链表
第二章 顺序表和链表顺序表什么是顺序表 顺序表是物理地址全部连续的存储数据的方式。顺序表分为动态顺序表以及动态的顺序表,静态的顺序表一般很少使用,因为其大小一旦固定不能再进行改变。 顺序表在开发中十分经常使用,因为其方便简单,并且易于操作。数组就是顺序表的一种,因为其在逻辑结构上是线性的,在物理结构上是连续的。由于十分常用在Cpp的STL库中封装了以顺序表为数据结构的vector容器供...原创 2019-10-21 22:07:34 · 187 阅读 · 0 评论 -
【DS】第一章-初识数据结构
前言什么是数据结构 数据结构(Data Structure)是计算机存储、组织数据的方式,指之间相互存在一种或特定关系的数据元素的集合。什么是算法 算法是解决一类问题的一系列计算步骤。数据结构和算法的重要性 笔试,面试必备。实际项目开发提供思想和思路,程序员的内功。如何学好数据结构 1、疯狂写代码。 2、注意画图和思考。不懂得地方多画几遍图,思考出思路过后再用代码实现...原创 2019-03-21 11:06:20 · 181 阅读 · 0 评论