数据结构与算法
文章平均质量分 72
Peter-H
使用C#快速开发稳定可扩展的应用程序
展开
-
寻找数组中第K大数
1、寻找数组中的第二大数using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace ConsoleApplication2{ class Program { stati原创 2015-09-30 10:07:42 · 1174 阅读 · 0 评论 -
时间复杂度计算
算法的时间复杂度是一个函数,它定量描述了该算法的运行时间。这是一个关于代表算法输入值的字符串的长度的函数。时间复杂度常用大O符号表述,不包括这个函数的低阶项和首项系数。求解算法的时间复杂度的具体步骤是: ⑴ 找出算法中的基本语句; 算法中执行次数最多的那条语句就是基本语句,通常是最内层循环的循环体。 ⑵ 计算基本语句的执行次数的数量级; 只需计算基本语句执行次数原创 2015-07-24 15:31:48 · 765 阅读 · 0 评论 -
欧几里德算法(最大公约数)
辗转相除法, 又名欧几里德算法(Euclidean algorithm)乃求两个正整数之最大公因子的算法。它是已知最古老的算法, 其可追溯至3000年前。也可用于数制转换,例如十进制转为8进制。using System;using System.Collections.Generic;using System.Linq;using System.Text;name原创 2015-03-19 18:13:18 · 1048 阅读 · 0 评论 -
排序算法总结(C#版)
算法质量的衡量标准:1:时间复杂度:分析关键字比较次数和记录的移动次数;2:空间复杂度:需要的辅助内存;3:稳定性:相同的关键字计算后,次序是否不变。(一)简单排序方法1、直接插入排序直接插入排序(InsertionSort)的基本思想是:每次将一个待排序的记录,按其关键字大小插入到前面已经排好序的子序列中的适当位置,直到全部记录插入完成为止。例如 in原创 2015-04-20 16:53:38 · 777 阅读 · 1 评论 -
求质数(素数)
质数(prime number)又称素数,有无限个。一个大于1的自然数,除了1和它本身外,不能被整除以其他自然数(质数),换句话说就是该数除了1和它本身以外不再有其他的因数;否则称为合数。最小的质数是2。目前为止,人们未找到一个公式可求出所有质数。using System;using System.Collections.Generic;using System.L原创 2015-04-16 10:43:34 · 1478 阅读 · 0 评论 -
5个编程问题(1小时解决)
题目来自于博客园:http://news.cnblogs.com/n/520705/?utm_source=tuicool 一个小时解决有点难度。程序位于:D:\C#编程代码\demo基础\104 FiveQuestion问题1 使用 for 循环、while 循环和递归写出 3 个函数来计算给定数列的总和。class Program {原创 2015-05-22 00:05:23 · 734 阅读 · 0 评论 -
汉诺塔
问题描述:有三根杆子A,B,C。A杆上有N个(N>1)穿孔圆盘,盘的尺寸由下到上依次变小。要求按下列规则将所有圆盘移至C杆:每次只能移动一个圆盘;大盘不能叠在小盘上面。提示:可将圆盘临时置于B杆,也可将从A杆移出的圆盘重新移回A杆,但都必须尊循上述两条规则。问:如何移?最少要移动多少次?问题分析:设汉诺塔盘子从上到下,依次为 d1, d2,d3,......dn原创 2015-09-22 23:13:39 · 792 阅读 · 0 评论