
数据结构/算法
颐水风华
框架:tensorflow pytorch tensorrt cuda cublas opnecv。
语言:c、c++ python。
展开
-
LeetCode--两数之和
给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。 示例: 给定 nums = [2, 7, 11, 15], target = 9 因为 nums[0] + nums[1] = 2 + 7 = 9 所以返回 [0, 1] 最简单的...原创 2019-11-23 13:55:42 · 205 阅读 · 0 评论 -
排序 | 冒泡排序
基本思想 冒泡排序,类似于水中冒泡,较大的数沉下去,较小的数慢慢冒起来,假设从小到大,即为较大的数慢慢往后排,较小的数慢慢往前排。比较两个相邻的元素,将值大的元素交换到右边 直观表达,每一趟遍历,将一个最大的数移到序列末尾。 算法描述 依次比较相邻的两个数,将比较小的数放在前面,比较大的数放在后面。 (1)第一次比较:首先比较第一和第二个数,将小数放在前面,将大数放在后面。 (2)比较...原创 2019-11-10 17:15:21 · 154 阅读 · 0 评论 -
排序 | 插入排序
插入排序的定义 每步将一个待排序的记录按其关键字的大小插到前面已经排序的序列中的适当位置,直到全部记录插入完毕为止。 实现 原理 从第一个元素开始,该元素可以认为已经被排序 与第二个元素比较,如果第二个元素小于第一个元素,就把第一个元素往后挪,否则不变 重复1-2步骤 随着已排序部分元素个数的增加,来自未排序部分的新元素必须与已排序部分的所有元素进行比较,然后才能插入 过程 List...原创 2019-11-10 14:49:21 · 125 阅读 · 0 评论 -
排序 | 归并排序
什么是归并排序 归并排序(MERGE-SORT)是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为二路归并。 归并排序的思想 首先按照n//2,n代表数组的长度,把列表分成两部分,然后接着把分出来的列表再...原创 2019-11-10 14:06:46 · 183 阅读 · 0 评论 -
排序 | 快速排序
什么是快速排序 快速排序(Quicksort)是对冒泡排序的一种改进。 快速排序由C. A. R. Hoare在1962年提出。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。 快速排序的思想 选取一个元素做为关键数据(一般选...原创 2019-11-10 13:54:48 · 187 阅读 · 0 评论 -
排序 | 桶排序
原理 就是将数据集里所有元素按顺序列举出来,然后统计元素出现的次数,最后按顺序输出数据集里面的元素 应用场景 成绩统计 当范围已经知道,而且空间不是很重要的情况下 总结 n<50的时候可以直接采用插入和选 择排序 初始文件状态基本有序的时候用插入或者冒泡 若n比较大的时候用快排(特别是关键字随机分布的时候) 数据比较大,稳定性要求高可以考虑归并 过程 排序过程如下: 有一组...原创 2019-11-10 13:46:01 · 208 阅读 · 0 评论