【经典算法大全】收集51种经典算法 初学者必备

《经典算法大全》是一款IOS平台的应用。里面收录了51种常用算法,都是一些基础问题。博主觊觎了好久,可悲哀的是博主没有苹果,所以从网上下了老奔的整理版并且每个都手敲了一遍。

虽然网上也有博客贴了出来,但是自己写写感觉总是好的。现在分享个大家。

代码和运行结果难免有出错的地方,请大家多多包涵。

1.河内之塔(汉诺塔

2.费式数列

3.巴斯卡三角形

4.三色棋

5.老鼠走迷宫(1)

6.老鼠走迷宫(2)

7.骑士走棋盘

8.八皇后

9.八枚银币

10.生命游戏

11.字串核对

12.双色河内塔三色河内塔

13.背包问题

14.蒙地卡罗法求PI

15.Eratosthenes筛选求质数

16.超长整数运算(大数运算)  同时建议参考这篇文章:大数的四则运算-海子的博客园

17.长PI

18.最大公因数,最小公倍数,因式分解

19.完美数

20.阿姆斯壮数

21.最大访客数

22.中序转后序式(前序式  相关文章:中缀表达式值问题

23.后序式运算

24.洗扑克牌(乱数排列)

25.Craps赌博游戏

26.约瑟夫问题

27.排列组合   相关文章:母函数与排列组合

28.格雷码(Gray Code)

29.产生可能的集合  相关文章:集合划分问题

30.m元素集合的n个元素子集

31.数字拆解

32.得分排行

33.选择,插入,冒泡排序

34.shell 排序法-改良的插入排序

35.shaker排序法-改良的冒泡排序

36.改良的选择排序

37.快速排序法一

38.快速排序法二

39.快速排序法三

40.合并排序法

41.基数排序法

42.循环搜寻法(使用卫兵)

43.二分搜寻法(二分查找法,折半查找法)  相关文章:二分查找

44.插补搜寻法

45.费式搜寻法

46.稀疏矩阵

47.多维矩阵转一维矩阵

48.上三角,下三角,对称矩阵

49.奇数魔方阵

50.4N魔方阵

51.2(2N+1)魔方阵

时间: 2024-12-17 04:52:02

【经典算法大全】收集51种经典算法 初学者必备的相关文章

hash算法总结收集

hash算法的意义在于提供了一种快速存取数据的方法,它用一种算法建立键值与真实值之间的对应关系,(每一个真实值只能有一个键值,但是一个键值可以对应多个真实值),这样可以快速在数组等条件中里面存取数据.     在网上看了不少HASH资料,所以对HASH的相关资料进行总结和收集.   //HashTable.h template class HashTable{ public : HashTable( int count ) ; void put( T* t ,int key ) ; T* get

八种排序算法(内部排序)

八种排序算法很长时间没有使用了,今天做一个总结,方便以后自己用的时候参考. 这八种排序算法都是内部算法,这八种排序算法分别是: 1. 插入排序 1)直接插入排序 2)希尔排序 2.选择排序 1)简单选择排序 2)堆排序 3.交换排序 1)冒泡排序 2)快速排序 4.归并排序 5.基数排序 一.直接插入排序 将一个记录插入到已经排好序的有序表中,从而得到一个新的.记录数增1的有序表.在实际操作中,先将序列的第一个记录看成是一个有序的子序列,然后从第二个.第三个.……记录逐个进行插入,直至整个序列有

经典算法大全

原文地址:经典算法大全 作者:liurhyme 经                                                                    典                                                                    算                                                                    法                  

Java经典问题算法大全

Java经典问题算法大全/*[程序1]题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 1.程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21.... */ package cn.com.flywater.FiftyAlgorthm; public class FirstRabbit {public static final int MONTH = 15;public static v

经典的两种排序算法

一.冒泡排序 int temp = 0; for (int j = 1; j < a.Length; j++) { for (int i = 0; i < a.Length - j; i++)//内循环,每走一趟会把最小值放到最后 { if (a[i] < a[i + 1]) { temp = a[i]; a[i] = a[i + 1]; a[i + 1] = temp; } } } 二.选择法排序 int min; for (int j = 0; j< a.Length; j++

七种经典排序算法最全攻略

经典排序算法在面试中占有很大的比重,也是基础.包括冒泡排序,插入排序,选择排序,希尔排序,归并排序,快速排序,堆排序.希望能帮助到有需要的同学.全部程序采用JAVA实现. 本篇博客所有排序实现均默认从小到大. 一.冒泡排序 BubbleSort 介绍: 冒泡排序的原理非常简单,它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来. 步骤: 比较相邻的元素.如果第一个比第二个大,就交换他们两个. 对第0个到第n-1个数据做同样的工作.这时,最大的数就"浮"到了

C# 经典排序算法大全

C# 经典排序算法大全 选择排序 using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace sorter { public class SelectionSorter { private int min; public void Sort(int[] arr) { for (int i = 0; i < arr.Length - 1; ++i) { min = i

经典的7种排序算法 原理C++实现

经典的7种排序算法 原理C++实现 排序是编程过程中经常遇到的操作,它在很大程度上影响了程序的执行效率. 7种常见的排序算法大致可以分为两类:第一类是低级排序算法,有选择排序.冒泡排序.插入排序:第二类是高级排序算法,有堆排序.排序树.归并排序.快速排序. 一.低级排序算法 1. 选择排序 排序过程:给定一个数值集合,循环遍历集合,每次遍历从集合中选择出最小或最大的放入集合的开头或结尾的位置,下次循环从剩余的元素集合中遍历找出最小的并如上操作,最后直至所有原集合元素都遍历完毕,排序结束. 实现代

九种经典排序算法详解(冒泡排序,插入排序,选择排序,快速排序,归并排序,堆排序,计数排序,桶排序,基数排序)

综述 最近复习了各种排序算法,记录了一下学习总结和心得,希望对大家能有所帮助.本文介绍了冒泡排序.插入排序.选择排序.快速排序.归并排序.堆排序.计数排序.桶排序.基数排序9种经典的排序算法.针对每种排序算法分析了算法的主要思路,每个算法都附上了伪代码和C++实现. 算法分类 原地排序(in-place):没有使用辅助数据结构来存储中间结果的排序**算法. 非原地排序(not-in-place / out-of-place):使用了辅助数据结构来存储中间结果的排序算法 稳定排序:数列值(key)