C++
qq_22677425
这个作者很懒,什么都没留下…
展开
-
排序算法总结
总结一下递归排序和非递归排序算法的特点 从 最好情况、最坏情况、平均情况时间复杂度,算法的内存消耗和稳定性方面考虑。 极客时间版权所有: https://time.geekbang.org/column/article/41802 ####一、非递归排序 1、冒泡排序 空间复杂度为 O(1),是一个原地排序算法。 只有交换才可以改变两个元素的前后顺序。为了保证冒泡排序算法的稳定性,两个元...原创 2018-12-25 14:52:02 · 567 阅读 · 0 评论 -
leetcode137:只出现一次的数字详解
一、题目说明 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现了三次。找出那个只出现了一次的元素。 说明: 你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗? 示例 1: 输入: [2,2,3,2] 输出: 3 示例 2: 输入: [0,1,0,1,0,1,99] 输出: 99 二、思路解析 学习评论区第一大佬的i...原创 2019-03-13 17:22:25 · 183 阅读 · 0 评论 -
学习dijkstra算法并C++实现
一、算法描述 dijkstra是一种单源最短路径算法,主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止。 naive version的时间复杂度为O(N2),通过堆排序优化可以减少为O((m+n)logn)。 二、算法执行过程 概括的来说,就是迭代N次,每次确定一个节点到source的最短路径,并以该节点作为中转,更新其他未确定节点到source的距离。 (1)确定一个节点到source的...原创 2019-04-20 18:15:16 · 490 阅读 · 0 评论 -
C++中的虚函数(表)实现机制以及用C语言对其进行的模拟实现
转载:C++中的虚函数(表)实现机制以及用C语言对其进行的模拟实现转载 2019-09-26 22:31:42 · 258 阅读 · 0 评论