data structures and algorithms
文章平均质量分 71
敲代码的quant
ML/DL/量化金融/学生
展开
-
排序算法之交换类排序
交换类排序交换类排序的思想,顾名思义,就是在每一轮的排序过程,通过不断的交换来使每个元素到达最终的位置。常见的两种交换类排序有冒泡排序和快速排序。冒泡排序(Bubble sort)冒泡排序作为最基础的排序算法,它的排序思想也如其名,通过比较两个相邻数据的大小,来决定是否交换它们的位置,最后经过多轮排序最终是整个序列有序。网上找到的gif动图:代码:void sortB...原创 2018-10-19 21:58:42 · 1518 阅读 · 0 评论 -
排序算法之插入类排序
插入类排序插入类排序的思想就是通过向一个已经有序的序列中,插入一个元素,待插入元素通过某种规则找到它的合适位置。常用的三种插入排序有直接插入排序、折半插入排序和希尔排序。直接插入排序(Straight Insertion Sort)直接插入排序是最简单的排序算法,在已经有序的序列中,直接插入排序通过找到待插入元素合适的位置,然后直接插入到位置上就可以了。网上的gif动图:代...原创 2018-10-20 14:28:19 · 1627 阅读 · 0 评论 -
排序算法之选择类排序
选择类排序选择类排序算法的核心就是选择,也就是每趟排序选出最大(小)的元素,然后将其放入它的最终位置。如排队时,先从中找出最矮的将其与队首的元素进行交换,然后选出其次大的与队头的第二个位置上的元素进行交换位置。常用的有简单选择排序和堆排序。简单选择排序(Selection Sort)简单选择排序的选择思想最简单,也就是从头到尾遍历一遍选出最大(小)的关键字,然后与第一个关键字进行交换位...原创 2018-10-25 16:16:53 · 1074 阅读 · 0 评论 -
各种基本排序算法全方面比较
各个基本排序算法比较 时间复杂度 (平均 最好 最坏) 空间复杂度 稳定性 一趟排序能否使待排序元素达到最后位置 排序趟数和原始序列是否有关 比较次数和原始序列是否有关 直接插入排序 稳定 否 无关 有关 折半插入排序...原创 2018-10-29 19:38:02 · 2109 阅读 · 2 评论 -
C语言指针整理
1、内存地址内存是按照字节编址的,所以它的寻址单位是字节(Byte),而一个字节又有是由8位(bit)的0或1组成。如果一台计算机的内存是4GB,也就是说它的内存总字节数有个,所以要想表示这台计算机的内存地址,就要用到32位(bit)。类似于这样的32位来表示一个内存地址:0110 1101 1100 0010 1101 1110 0101 1101,由于写起来不方便,所以我们将上述地址用...原创 2018-10-31 15:34:30 · 844 阅读 · 0 评论