首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
数据结构与算法
坏幸运
创建于2023-05-04
订阅专栏
学好数据结构与算法,走遍天下都不怕!
暂无订阅
共21篇文章
创建于2023-05-04
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
【基础算法】[PTA]-找出不是两个数组共有的元素
找出不是两个数组共有的元素 题目描述: 解题思路: 【整体思路】:在两个整型数组中,找出不是两者共有的元素,意思就是既要在第一个数组中找出第二个数组中没有出现的元素,也要在第二个数组中找出第一个数组中
【基础算法】八大排序算法:直接插入排序,希尔排序,选择排序,堆排序,冒泡排序,快速排序(快排),归并排序,计数排序
直接插入排序 直接插入排序其实我们从小就在接触了,我们之前打的跑得快,斗地主,抓牌整理牌的过程就是类似于插入排序。 对于插入排序,它的过程是如何的呢?我们以下面这组乱序数组为例(假设这里以升
【基础算法】选择排序 与 堆排序
选择排序 堆排序 选择排序基础 基本的选择排序思路如下: 每一次从数组的待排序的数据元素中找出最小或者最大的元素放在起始位置,直到所有待排序的数据元素放在应在的位置为止。 如图 ,为
【基础算法】直接插入排序 与 希尔排序
直接插入排序 直接插入排序其实我们从小就在接触了,我们之前打的跑得快,斗地主,抓牌整理牌的过程就是类似于插入排序。 对于插入排序,它的过程是如何的呢?我们以下面这组乱序数组为例
【数据结构】初等二叉树
关于二叉树的补充 在实现普通二叉树之前,我们还需知道一些东西。 对于 堆 ,是采用顺序结构来存储数据的,那是因为堆的逻辑结构是一棵完全二叉树,那么本章的二叉树是否也能采用
【数据结构】堆
前堆的概念及结构 本章是以大堆为例,只要会了大堆,小堆也是不在话下。 堆是把它的所有元素按完全二叉树的顺序存储方式存储在一个一维数组中,并且它的任意元素 Ki(i = 0, 1, 2, 3, ..
【数据结构】树的介绍
树的概念及结构 树的概念 树是一种非线性的数据结构,它是由n(n >= 0)个有限结点组成一个具有层次关系的集合。把它叫做树是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。 有一个
【数据结构与算法】设计循环队列
如何设计循环队列 那么该如何设计一个循环队列呢?首先第一步当然就是选取一个存储结构来存放数据,是选顺序表的数组呢还是链表呢? 我们先来看看对循环队列的介绍:循环队列是一种线性数据结构,其操作表
【数据结构与算法】用栈实现队列
如何用栈实现队列? 那么如何用栈实现队列呢?肯定是需要两个栈来完成的。 用两个栈,每一个栈都是数据后进先出,我们仔细思考队列的先进先出这一性质,如何来操作这两个栈才能达到这样的一个性质? 我们
【数据结构与算法】用队列实现栈
如何用队列实现栈? 前面废话这么多,那我们该如何用队列实现栈呢?一个队列当然不行,所以这里需要两个队列来实现。 用两个队列,而每一个队列都是数据先进先出,我们仔细思考栈的后进先出这一性质,如何
【数据结构】队列
队列初始化 队列的性质是先进先出(相当于一根管道),出是出一个队列的队头,进是在一个队列的队尾进,当然还可以访问队列的队头元素和队尾元素。 图示: 那么根据列队的性质,我们该如何来选择队列的底
【数据结构】栈
栈初始化 栈的性质是后进先出(不能任意插入删除),并且只能访问栈顶元素,因此,对数据的入栈和出栈是特别方便的。 根据栈的这样一个后进先出的性质,我们该如何选择它的底层结构呢?是顺序表的数组还是
【基础算法】单链表的OJ练习(6) # 复制带随机指针的链表 #
本章的链表OJ练习,是最后的也是最难的。对于本题,我们不仅要学会解题的思路,还要能够通过这个思路正确的写出代码,也就是思路转化为代码的过程,这应该就是最难的地方了吧。
【数据结构】带头双向循环链表
😎前言 前面学习了单链表的结构,并且做了些许单链表的OJ练习,相信大家已经对单链表的结构了如指掌。因此,本章带来了与单链表同源的但拥有不同的结构的链表 --- 带头双向循环链表供大家学习。 可能大家听
【基础算法】单链表的OJ练习(5) # 环形链表 # 环形链表II # 对环形链表II的解法给出证明(面试常问到)
本章的OJ练习相对于OJ练习(4)较为简单。不过,本章的OJ最重要的是要我们证明为何可以这么做。这也是面试中常出现的。 对于OJ练习(4): 传送门 ,分割链表以一种类似于归并的思想解得
【基础算法】单链表的OJ练习(4) # 分割链表 # 回文链表 #
本章的OJ练习相对前面的难度加大了,但是换汤不换药,还是围绕单链表的性质来出题的。我相信,能够过了前面的OJ练习,本章的OJ也是轻轻松松。 对于OJ练习(3):着重需要理解的是相交链表
【基础算法】单链表的OJ练习(3) # 移除链表元素 # 相交链表 #
本章的OJ练习也是相对简单的,只要能够理解解题的思路,并且依照这个思路能够快速的写出代码,我相信,你的链表水平已经足够了。 对于OJ练习(2) 。其中两道题都可运用快慢指针的解题思路,
【基础算法】单链表的OJ练习(2) # 链表的中间结点 # 链表中倒数第k个结点 #
对于单链表的OJ练习,需要深刻理解做题的思路,这样我们才能够在任何场景都能够熟练的解答有关链表的问题。 关于OJ练习(1),其题目较为简单,思路也好理解,本章
【基础算法】单链表的OJ练习(1) # 反转链表 # 合并两个有序链表 #
上一章讲解了单链表 传送门 ,后面几章就对单链表进行一些简单的题目练习,目的是为了更好的理解单链表的实现以及加深对某些函数接口的熟练度。 本章带来了两个题目。一是反转链表,二是合并两个有序链表,
【基础算法】关于高精度计算的问题【很高位数数据的加减乘除(相关代码用C++实现)】
当我们在利用计算机进行一些计算时,可能会遇到这类问题 : 有些计算要求精度高,希望计算的数的位数可达几十位甚至几百位,虽然计算机的计算精度也算较高了,但因受到硬件的限制,往往达不到实际问题所要求
下一页