算法及数据结构
文章平均质量分 74
Samay0904
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
经典的排序算法
排序算法是计算机算法最基础的内容,但是同时也是各大企业面试时出现频率最高的试题。本文简单阐述一下排序算法比较经典的冒泡算法,插入算法以及快速算法。一、冒泡排序算法冒泡排序算法的算法描述:比较相邻两个数字,如果前者大于后者,交换两者位置;对没对相邻数字进行比较,第一轮获得最大的数字放到最后;以后每轮都最大的数据排到最后。C# 代码:public static int[原创 2013-05-16 11:18:43 · 507 阅读 · 0 评论 -
最大子序列和问题
最近在看数据结构与算法分析这本书。书中第一章描述了这样一个问题:输入一组整数,求出这组数字子序列和中最大值。例如:1、序列:-2 11 -4 13 -5 -2,则最大子序列和为20。 2、序列:-6 2 4 -7 5 3 2 -1 6 -9 10 -2,则最大子序列和为16。 算法一:使用穷举法计算每个子序列和,从中获得最大值。这个想法是最简单,它的时间复杂度为O(N^原创 2013-05-27 10:24:04 · 522 阅读 · 0 评论 -
数据结构之栈
栈是非常经典的一个数据结构,一种只能在一端进行插入和删除操作的特殊线性表。它最主要的特点就是遵循着数据时后进先出的原则。具体操作模型为: 经典算法:1.进栈:(1)执行进栈操作时,首先要判断该栈是否已经满,如果满了会出现溢出的情况;否则可以执行进栈操作;(2)栈顶有top指针(或标示)指向栈顶数据,该top++,data[top]等于新进栈的数据。2.退栈:(1)执原创 2013-05-13 11:12:19 · 578 阅读 · 0 评论 -
90%程序员无法正确实现二分查找
最近在csdn上面看到有关实现二分查找的编程题目。本文针对这个题目给出自己的解答。具体题目描述为:“我很惊讶:在足够的时间内,只有大约10%的专业程序员可以把这个小程序写对。但写不对这个小程序的还不止这些人:高德纳在《计算机程序设计的艺术 第3卷 排序和查找》第6.2.1节的“历史与参考文献”部分指出,虽然早在1946年就有人将二分查找的方法公诸于世,但直到1962年才有人写出没有bug的二分原创 2013-06-03 09:54:49 · 654 阅读 · 0 评论
分享