![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法与数据结构
小马驹会飞
愿世界充满爱与和平。
展开
-
小马驹会飞学算法与数据结构之编程题练习_001
写在开头:个人觉得编程题是考察程序员编程能力的有效方式,能力源于积累和发散。本系列编程题求解过程均使用PHP实现。题目描述: 10个房间里放着随机数量的金币。每个房间只能进入一次,并只能在一个房间拿金币。一个人采取如下策略:前四个房间只看不拿。随后的房间只要看到比前四个房间都多的金币数,就拿。否则就那最后一个房间的金币。编程计算这种策略拿到最多金币的概率。转载 2019-07-28 22:25:02 · 196 阅读 · 0 评论 -
小马驹会飞学算法与数据结构之编程题练习_002
题目描述:假设某人有100000元现金。每经过一次路口需要进行一次交费。缴费规则为当他现金大于50000元时每次需要交5%。如果现金小于等于50000元时每次交5000,请编写一程序计算此人可以经过多少次这个路口。分析:初始条件为某人拥有的总现金100000元,初始过桥次数为0次,当金额条件不满足5000元时,则停止过桥。所以可通过循环求过桥次数,当现金大于50000元时,剩余金额为总金额*(1...原创 2019-07-29 23:10:52 · 1164 阅读 · 0 评论 -
排序算法之插入排序
算法分析插入排序的基本思想:对于给定的一组记录,初始时假设第一个记录自成一个有序序列,其余的为无序序列。接着从第二个记录开始,按照记录的大小依次将当前处理的记录插入到其之前的有序序列中,直至最后一个记录插入到有序序列为止。代码实现...原创 2019-08-03 00:43:01 · 128 阅读 · 0 评论 -
排序算法之冒泡排序
分析与解答冒泡排序,顾名思义就是整个过程就像气泡一样上升,单向冒泡排序的基本思想是(假设有小到大排序):对于给定的n个记录,从第一个记录开始依次对相邻的两个记录进行比较,当前面的记录大于后面的记录时,交换器位置,进行一轮比较和换位后,n个记录中的最大记录将位于第n位;然后对前(n-1)个记录进行第二轮比较;重复该过程直到进行比较的记录只剩下一个时为止。算法原理如下:比较相邻的元素,如果第一个...原创 2019-07-31 09:54:26 · 200 阅读 · 0 评论 -
排序算法之选择排序
算法分析选择排序是一种简单直观的排序算法,它的基本原理是:对于给定的一组记录,经过第一轮比较后得到最小的记录,然后将该记录与第一个记录的位置进行交换;接着对不包括第一个记录外的其他记录进行第二轮比较,得到最小的记录并与第二个记录的位置进行交换;重复该过程,直到进行比较的记录只有一个时为止。算法原理如下:每一趟在n-i+1(i=1,2,……,n-1)记录中选择关键字最小的记录作为有序序列第i个记...原创 2019-08-08 22:25:50 · 178 阅读 · 0 评论