随笔分类 - data structure/数据结构
基于C++
摘要:1. 交换排序的基本思想两两比较key值,如果发生逆序(排列的顺序与期望的顺序相反)就交换,知道所有对象都排序完毕!常见的3种交换排序算法:冒泡排序,shaker排序和快速排序。2. 冒泡排序设待排序列中有 n 个对象, 首先比较对象v[n-1]和v[n-2], 如果v[n-1] 4 #incl...
阅读全文
摘要:1.原理介绍希尔排序又称为缩小增量排序,由D.L.Shell在1959年提出而得名。该算法先取一个小于数据表中元素个数 n 的整数gap, 并以此作为第一个间隔,将数据分为gap个子序列,所有距离为gap的对象存放在同一个子序列中,于是数据表中的元素就被分成了gap个组,分组确定后,在每一个小组中进...
阅读全文
摘要:1.直接插入排序直接插入排序的过程可以理解为一个固定长度的数组被分为两个集合,即已排序集合和未排序。开始时已排序集合为空,而未排序集合即为整个数组。当排序开始后插入一个对象,已排序集合元素数目加1,相应地未排序集合元素数目减1,重复插入过程直至将未排序集合清空为止,这时排序集合就是最终结果。如下图:...
阅读全文
摘要:1.引言用计算机实现两个比较小的数相乘不是一件难事,但是当两个数很大,比如11111987654321和55443322111相乘,由于计算机的精度是有限的,所以用编程语言提供的原子数据类型来直接完成这两个大数的乘法显然不切实际。2.运用数组运用两个数组分别存储两个大数的每一位,这样首先解决了大数的...
阅读全文
浙公网安备 33010602011771号