数据结构与算法
「已注销」
这个作者很懒,什么都没留下…
展开
-
数据结构与算法-排序(二)
数据结构与算法-排序(二) 接上篇,继续介绍归并排序与快速排序。三、简单排序算法简介3.1 归并排序 归并排序使用的是分治策略,核心思想也比较简单。要排序一个序列,首先从中间将序列一分为二,然后对划分的前后两个序列进行排序,再将排序好的序列合而为一,这样原有的序列就已有序了。 可见,归并排序的核心在于合并有序序列。以下图为例,有两个待合并有序序列 5, 6, 8, 9, 与...原创 2019-11-10 22:25:36 · 164 阅读 · 0 评论 -
数据结构与算法-排序(一)
数据结构与算法-排序(一) 排序算法有很多种,此处仅介绍五种最经典通用的排序算法:冒泡排序、插入排序、选择排序、归并排序、快速排序。篇幅有限,本篇仅介绍前三种。最好时间复杂度最坏时间复杂度平均时间复杂度稳定排序原地排序冒泡排序O(n)O(n^2)O(n^2)是是插入排序O(n)O(n^2)O(n^2)是是选择排序O(n^2)O...原创 2019-10-13 12:17:32 · 277 阅读 · 0 评论 -
数据结构与算法-向量vector
数据结构与算法-向量vector 数组是一组具有相同类型的数据,存储在连续的内存空间中。一、简介 向量(vector)是数组的抽象与泛化,由一组元素按线性次序封装完成。很多语言中都有提供容器类,如C++ STL 中的 vector,Java 中的 ArrayList。与链表、栈、队列一样,向量属于线性表结构。二、部分操作 基于vector的算法有很多,此处简单记录几个有意...原创 2019-08-09 17:21:48 · 709 阅读 · 0 评论 -
数据结构与算法-链表list
数据结构与算法-链表list 数据元素的存储与组织方式有两种,分别是静态与动态。静态存储方式,如向量,数据空间整体创建或销毁,各个元素物理存储次序与逻辑次序严格一致,从而可支持高效的静态操作,如访问、查找等。而动态存储方式,各个元素的物理空间需动态的分配和回收,相邻元素的物理地址未必相邻,只是在逻辑上形成次序,从而可支持高效的动态操作,如添加、删除等。一、简介 链表(list)是采用...原创 2019-09-07 17:40:26 · 718 阅读 · 0 评论