Python
Java
PHP
IOS
Android
Nodejs
JavaScript
Html5
Windows
Ubuntu
Linux
算法——排序——归并排序图解动画
归并排序 简介 代码示例 排序过程 分解 合并 时间复杂度 空间复杂度 稳定性 简介 归并排序分为两部分 分解 合并 分解 归并算法会把数组分成两个长度相同的子数组 直到无法再分割 每个数组只有一个元素 此过程不消耗时间资源 对应的时间复杂
数据结构和算法
计算机基础
算法
动画
排序算法
Queue(单项队列)和Deque(双端队列)的知识点整理
1 Queue 单向队列 1 1 定义 常见队列就是FIFO 先进先出 队列 可以实现前端删除 peek pop from front 后端添加 push to back 的功能 1 2 实现 既可以用数组 顺序队列 也可以用链表 链式队列
数据结构和算法
Java
数据结构
排序算法——交换排序(快排*)和归并排序
上篇文章介绍了插入排序和选择排序 详见https mp csdn net postedit 97524495 3交换排序 所谓交换 就是根据序列中两个记录键值的比较结果来对换这两个记录在序列中的位置 交换排序的特点是 将键值较大的记 录向序
数据结构和算法
插入排序和选择排序(普通排序)
我自己的代码 更容易理解 void XuanZePaiXu int a int n int i j k for int i 0 i lt n i k i for int j i 1 j lt n j if a k gt a j k j if
数据结构和算法
【C】PTA两个有序链表序列的合并
课程 数据结构 陈越 何钦铭 本题要求实现一个函数 将两个链表表示的递增整数序列合并为一个非递减的整数序列 函数接口定义 List Merge List L1 List L2 其中List结构定义如下 typedef struct Node
数据结构和算法
c
数据结构和算法(4)-----栈
一 栈的一个实际需求 例如 请输入一个表达式计算式 7 2 2 5 1 5 3 3 点击计算 如下图 请问 计算机底层是如何运算得到结果的 注意不是简单的把算式列出运算 因为我们看这个算式 7 2 2 5 但是计算机怎么理解这个算式的 对计
数据结构和算法
栈
数据结构和算法(双向链表和单向环型链表-Josephu问题)
为什么会有双向链表 单链表的缺点分析 单向链表 查找的方向只能是一个方向 而双向链表可以向前或者向后查找 单向链表不能自我删除 需要考辅助节点 而双向链表 则可以自我删除 双向链表的结构 每个节点都有next和pre指针 next指向后 p
数据结构和算法
数据结构
算法
链表
单链表
【GUI】LVGL8内存泄漏分析
LVGL版本 V8 0 2 平台 ESP32S3 在调试过程中 发现有两个界面 在重复退出再进入时内存会不断增加的吃内存现象 然后做了分析和研究 1 样式style吃内存 在主页面 进入simple页面 再退出到主页面 再次进入simple
GUI
ESP32
数据结构和算法
lvgl
内存泄漏
迪杰斯特拉(Dijkstra)算法 Java实现(最短路径)
基本思想 通过Dijkstra计算图G中的最短路径时 需要指定起点vs 即从顶点vs开始计算 此外 引进两个集合S和U S的作用是记录已求出最短路径的顶点 而U则是记录还未求出最短路径的顶点 以及该顶点到起点vs的距离 初始时 S中只有起点
数据结构和算法
图
Dijkstra
迪杰斯特拉算法
算法(1)---八大排序算法
一 选择排序 定义 从待排序的数据中 按指定的规则选出某一个元素 再依规定交换位置后达到排序的目的 核心思想 从全部序列中选取最小的 与第0个元素交换 然后从第1个元素往后找出最小的 与第一个元素交换 再从第2个元素往后选取最小的 与第二个
数据结构和算法
排序算法
算法
【C】PTA期末分数排序(归并排序)
考试结束了 全班同学的分数都出来了 老师需要对分数做一次排序 看看从高到低 分数的排列是怎样的 输入格式 第一行是一个n 表示班级同学的人数 1 lt n lt 500000 第二行开始有n个分数 0 lt 分数 lt 100 分数都是整数
c
数据结构和算法
数据结构和算法(1)-----稀疏数组
一 实际需求 编写的五子棋程序中 有存盘退出和继续上盘的功能 分析问题 因为该二维数组的很多值是默认值0 因此记录了很多没有意思的数据 如何在计算机中高效的存储这样的二维数组是一个需要考虑的问题 二 基本介绍 当一个数组中大部分元素为0 或
数据结构和算法
稀疏数组
数据结构---希尔排序
希尔排序 逐步折半增量 JAVA实现 Hibbard增量 Sedgewick增量 总结 对原始数组预处理 然后使用插入排序 满足 数组元素较少和 数组大部分元素有序俩个条件 逐步折半增量 逐步分组进行粗调 再进行直接插入排序的思想 就是希尔
数据结构和算法
数据结构
排序算法
Java
数据结构和算法(查找算法[ 二分、插值 ]、哈希表构成、普通二叉树操作、线索化和遍历[ 前、中、后 ] 序)
常用查找算法 顺序 线性 查找 二分查找 折半查找 插值查找 顺序查找 按照顺序 遍历数组 比对数字 如果找到 返回下标 由于比较简单 不再介绍 二分查找 二分查找思路分析 需要查找的数组必须是有序的 否则查找没有意义 二分查找代码实现 p
数据结构和算法
二叉树
算法
数据结构
Java
5-快速排序
假设有下面这样一排数据需要排序 3 7 6 1 2 9 1 2 6 排开常用的冒泡和选择排序 今天我们来试一下一种新的方法 快速排序 快速排序的思路如下 首先我们要先从这组数据中选出一个任意值X 然后以X为分界 比X小的数据排到X的左半边
数据结构和算法
c语言
哈希(4) - 求两个链表的交集以及并集
目录 1 简单方法 2 使用归并排序 3 使用哈希 给定两个链表 求它们的交集 intersection 以及并集 union 用于输出的list中的元素顺序可不予考虑 例子 输入下面两个链表 list1 10 gt 15 gt 4 gt
数据结构和算法
哈希
链表交集
链表并集
Arcesium面试体验
回合 1 能力和技术回合 第一轮有20个Aptitude MCQ 20分钟 和15个技术MCQ 15分钟 分别带有 1和 0 25标记方案 MCQ涵盖了所包含的主题 DSA 操作系统 C C Java基础知识 此后 有2个编码问题 45分钟
数据结构和算法
面试题
面试
算法
字符串
分治法( Divide and Conquer)
分治法也称为分解法 分治策略等 分治法算法思想如下 1 将一个问题划分为同一类型的若干子问题 子问题最好规模相同 2 对这些子问题求解 一般使用递归方法 但在问题规模足够小时 有时也会利用另一个算法 3 有必要的话 合并这些子问题的解 以得
数据结构和算法
算法
分治法
分治策略
算法图解 总结
定义 算法指的是解题方案的准确而完整的描述 是一系列解决问题的清晰指令 算法代表着用系统的方法描述解决问题的策略机制 也就是说 能够对一定规范的输入 在有限时间内获得所要求的输出 如果一个算法有缺陷 或不适合于某个问题 执行这个算法将不会解
数据结构和算法
算法
数据结构
数据结构---快速排序
快速排序 分治法思想 基准元素的选择 元素交换 双边循环法 JAVA实现 单边循环法 JAVA实现 快速排序也是从冒泡排序演化而来 使用了 分治法 快的原因 快速排序和冒泡排序共同点 通过元素之间的比较和交换位置来达到排序的目的 快速排序和
数据结构和算法
数据结构
排序算法
算法
«
1
2
3
4
5
6
7
»