算法/数据结构
wgj200123
踏实,真诚,热爱学习,喜欢钻研,乐于助人,具有团队精神!
展开
-
排序算法之冒泡排序
将被排序的记录数组垂直排列,每个记录看作是有重量的气泡,从下往上扫描,将轻气泡浮起来。 冒泡排序是稳定的,算法时间复杂度0(n2)。 #include int times = 0; void swap(int *a, int *b) { int temp = *a;原创 2011-10-17 21:25:10 · 135 阅读 · 0 评论 -
算法之排序与搜索基础(一)
常用的排序分类方法有两钟: (1)、根据相等的数排序之后是否打乱顺序,分成稳定排序和非稳定排序。 (2)、根据是否一次读入到内存排序,分为内排序和外排序。 简单排序方法:原创 2011-10-17 19:43:28 · 125 阅读 · 0 评论 -
排序算法之插入排序
直接插入排序是一种简单的排序方法,其核心思想是将一个记录插入到已经排好顺序的有序表中,从而得到一个新的有序表。 #include int times = 0; void swap(int *a, int *b) { int temp = *a; *a = *b; *b原创 2011-10-17 20:15:50 · 135 阅读 · 0 评论 -
排序算法之选择排序
选择法排序的基本思想是每一趟在n-i+1(i=1,2,...n-1)个记录中选择最小的记录作为有序序列中的第i个记录。 选择排序是不稳定的,算法复杂度O(n2)。 #include int times = 0; void swap(int *a, int *b) {原创 2011-10-17 20:56:38 · 127 阅读 · 0 评论 -
强盗分宝石算法分析
题目: 5个海盗抢了100个宝石,现在这5个海盗抽签选择自己的编号1,2,3,4,5,由1号海盗开始分配这100个宝石,且当有一半或一半以上的海盗赞成时才按其方法分配,否则1号将被推入大海喂鲨鱼;然后按顺序由2号来分配...... 问:1号如何分配可使自己受益最大? 推理如下: 假设5个人分别是A、B、C、D、E。 我们从最后开始假设:原创 2011-11-03 22:51:30 · 341 阅读 · 0 评论 -
将整型int数字转化为byte数组
在JAVA或C#中,一个整型数据占4个字节,一个byte数据占1个字节,因此将一个整型数字转换为byte数组,需要4个字节的长度。 public byte[] intTobyte(int n) { byte[] b = new byte[4]; b[3] = (byte)(n >> 0); b[2] = (byte)(n >> 8); b[1] =原创 2012-04-23 15:39:52 · 319 阅读 · 0 评论