随笔分类 -  算法

摘要:一. 参考网址 1. Hello 算法 阅读全文
posted @ 2024-05-09 13:12 shanyu20 阅读(22) 评论(0) 推荐(0)
摘要:参考文章 1、《linux c编程一站式学习》的习题5.3.1 2、百度百科Euclid算法:https://baike.baidu.com/item/Euclid%E7%AE%97%E6%B3%95 思想 使用Eucid算法编写两个正整数a和b的最大公约数(GCD, Greatest Common 阅读全文
posted @ 2019-05-29 14:54 shanyu20 阅读(1030) 评论(0) 推荐(0)
摘要:参考: 《linux c编程一站式学习》的例11.2 思想: 采取分而治之的策略: 1、divide: 把长度n的输入序列分成两个长度为n/2的序列 2、conquer: 对这两个序列分别采用归并序列 3、combine:将两个排序好的子序列合并成一个最终的排序序列 在描述归并排序的步骤时又调用了归 阅读全文
posted @ 2019-05-28 17:11 shanyu20 阅读(272) 评论(0) 推荐(0)
摘要:参考: 《linux c编程一站式学习》的习题11.4.1 http://c.biancheng.net/cpp/html/2741.html 思想: 采用分而治之的排序算法,从a[start,...,end]中选取一个pivot元素(比如a[start]为pivot);在一个循环中移动a[star 阅读全文
posted @ 2019-05-28 16:18 shanyu20 阅读(204) 评论(0) 推荐(0)
摘要:参考: 《linux c编程一站式学习》的习题11.1 思想: 第一次从数组a[0,...,LEN-1]中找出最小元素交换到a[0]的位置,第二次从数组a[1,...,LEN-1]中找出最小元素交换到a[1]的位置,依次类推。 code: 1 #include <stdio.h> 2 3 #defi 阅读全文
posted @ 2019-05-28 09:45 shanyu20 阅读(129) 评论(0) 推荐(0)
摘要:思想: 把小的元素往前调,或者把大的元素往后调;比较的是两个相邻的元素,调换也是发送在这两个元素之间 code: 1 #include <stdio.h> 2 3 #define LEN 5 4 5 int testData[LEN] = {10, 5, 2, 4, 7}; 6 7 void swa 阅读全文
posted @ 2019-05-27 18:41 shanyu20 阅读(197) 评论(0) 推荐(0)
摘要:参考: 《linux c编程一站式学习》的例11.1 思想: 插入排序类似于玩扑克牌时的抓牌过程,玩家每拿到一张牌都要将其插入手中已有的牌里,使之从小到到大排序 code: 1 #include <stdio.h> 2 3 #define LEN 5 4 int testData[LEN] = {1 阅读全文
posted @ 2019-05-27 17:56 shanyu20 阅读(290) 评论(0) 推荐(0)