算法
文章平均质量分 67
muyang_muzi
请多多指教
展开
-
大话数据结构——算法
算法:算法是解决特定问题求解步骤的描述,在计算机中表现为指令的有限序列,并且每条指令表示一个或多个操作。为什么把数据结构和算法一起说? 想想罗密欧与朱丽叶,梁山伯和祝英台,少了一个你总会觉得奇怪吧。算法的五个基本特性: 输入:有0个或多个输入; 输出:有1个或多个输出; 有穷性:步骤有限,不能无穷循环下去; 确定性:有确定的含义,不能出现二义性; 可行性:每一步都能通过有限次数完成。 算法设计的要原创 2016-05-10 21:36:14 · 924 阅读 · 0 评论 -
简单选择排序算法
简单选择排序思想:首先,找到数组中最小的元素,其次,将它和数组第一个元素交换位置;再次,在剩下的元素中找到最小的元素,将它与数组中的第二个元素交换。如此亡故,直到将整个数组排序。 这种方法叫做选择排序,因为它在不断地选择剩余元素之中的最小者。 先说看每步的状态变化,后边介绍细节,现有无序数组[6 2 4 1 5 9] 第一趟找到最小数1,放到最前边(与首位数字交换) 交换前原创 2016-07-28 21:22:55 · 640 阅读 · 0 评论 -
经典冒泡排序及其优化
经典排序算法 - 冒泡排序Bubble sort 原理是临近的数字两两进行比较,按照从小到大或者从大到小的顺序进行交换,这样一趟过去后,最大或最小的数字被交换到了最后一位,然后再从头开始进行两两比较交换,直到倒数第二位时结束,其余类似,看例子。 例子为从小到大排序,为了便于观察,选取 原始待排序数组:| 6 | 2 | 4 | 1 | 5 | 9 | 第一趟排序(外循环)原创 2016-07-28 17:59:58 · 428 阅读 · 0 评论 -
直接插入排序
直接插入排序的基本操作是讲一个记录插入到已经排好序的有序表中,从而得到一个新的、记录数增1的有序表。 下面演示了对4个元素进行直接插入排序的过程,共需要(a),(b),(c)三次插入。 想象一下打牌的时候按顺序整理手牌,同花顺啥的。 【找到一个合适的位置】 public class StraightInsertionSort { public int[] insertSor原创 2016-07-28 23:02:20 · 374 阅读 · 0 评论 -
找零钱问题
最近在做华为机试体验题,遇到一个“找零钱”的题目,如下 想起之前在牛客网上看到左程云老师讲过的动态规划问题,很像,题目如下: 有数组penny,penny中所有的值都为正数且不重复。每个值代表一种面值的货币,每种面值的货币可以使用任意张,再给定一个整数aim(小于等于1000)代表要找的钱数,求换钱有多少种方法。 给定数组penny及它的大小(小于等于50),同时给定一个整数ai原创 2016-08-10 21:30:49 · 1275 阅读 · 0 评论