算法
基本算法学习
qqxhb
【内推】【社招】【校招】【实习】【字节跳动】
字节内推,职位类别涵盖研发、产品、运营、设计、市场、销售、职能/支持、教研教学、游戏策划多个方向,具体职位信息可访问内推地址查看。
内推的优势是可以让你的简历被优先筛选哦,欢迎投递!
字节跳动校招内推码: 4PNP6DF
投递链接: https://jobs.toutiao.com/s/eJ161U5
社招:https://job.toutiao.com/s/e1oKkLm
个人公众号:了不起的我和你
展开
-
排序算法——归并排序
归并排序1. 简介归并排序(MERGE-SORT)是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为二路归并。2. 算法原理2. 1 算法的原理将当前数组按中间分为两个子数组,分别对子数组进行归并排序...原创 2019-08-16 18:58:43 · 226 阅读 · 0 评论 -
排序算法——希尔排序
希尔排序1. 简介希尔排序(Shell’s Sort)是插入排序的一种又称“缩小增量排序”(Diminishing Increment Sort),是直接插入排序算法的一种更高效的改进版本。希尔排序是非稳定排序算法。该方法因D.L.Shell于1959年提出而得名。希尔排序是把记录按下标的一定增量分组,对每组使用直接插入排序算法排序;随着增量逐渐减少,每组包含的关键词越来越多,当增量减至1时,...原创 2019-08-16 17:46:40 · 218 阅读 · 0 评论 -
排序算法——插入排序
插入排序1. 简介插入排序(Insertion sort)是一种简单直观且稳定的排序算法。如果有一个已经有序的数据序列,要求在这个已经排好的数据序列中插入一个数,但要求插入后此数据序列仍然有序,这个时候就要用到一种新的排序方法——插入排序法,算法适用于少量数据的排序,时间复杂度为O(n^2)。是稳定的排序方法。本文介绍的是插入排序中的直接插入排序,下一篇将介绍插入排序中的希尔排序。2. 算法...原创 2019-08-16 15:48:28 · 261 阅读 · 0 评论 -
排序算法——堆排序
堆排序1. 简介堆排序(英语:Heapsort)是指利用堆这种数据结构所设计的一种排序算法。堆是一个近似完全二叉树的结构,并同时满足堆积的性质:即子结点的键值或索引总是小于(或者大于)它的父节点,是选择排序算法之一。2. 算法原理2. 1 算法的原理1)将初始待排序关键字序列(R1,R2….Rn)构建成大顶堆,此堆为初始的无序区;2)将堆顶元素R[1]与最后一个元素R[n]交换,此时得...原创 2019-08-16 14:20:17 · 351 阅读 · 0 评论 -
排序算法——选择排序
选择排序1. 简介这里说的选择排序是直接选择排序,还有一种选择排序是堆排序,将在下一篇介绍。选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是:第一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后再从剩余的未排序元素中寻找到最小(大)元素,然后放到已排序的序列的末尾。以此类推,直到全部待排序的数据元素的个数为零。选择排序是不稳定的排...原创 2019-08-15 11:22:35 · 323 阅读 · 0 评论 -
排序算法——快速排序
快速排序1. 简介快速排序(Quicksort)是对冒泡排序的一种改进算法,由C. A. R. Hoare在1960年提出。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。2. 算法原理2. 1 算法的原理设要排序的数组是...原创 2019-08-14 19:57:45 · 297 阅读 · 0 评论 -
排序算法——冒泡排序原理动图详解及实现
冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果他们的顺序(如从大到小、首字母从A到Z)错误就把他们交换过来。走访元素的工作是重复地进行直到没...原创 2019-08-14 15:13:51 · 3379 阅读 · 1 评论