文章分类 - 05数据结构&算法
摘要:本文系外部转贴,原文地址:http://coolshell.info/c/c++/2014/12/13/c-open-project.htm】留作存档 下次造轮子前先看看现有的轮子吧 值得学习的C语言开源项目 - 1. Webbench Webbench是一个在linux下使用的非常简单的网站压测工
阅读全文
摘要:在电力电网系统中往往需要统计线路杆塔信息(列如 2#~5# 设计覆冰厚度为20 mm; 7#~10# ,8#,910~#18 设计覆冰 厚度为30 ;这样杆塔怎么样统计。我们简化抽象出这个问题。比如1到10 数中 ,找出连续相连的数用“~”连接,不相连用","。下面看看下面算法实现。 for (int i = 0; i < datas.Length; i++) { if (i == 0) { result += " " + datas[i]; ...
阅读全文
摘要:今天面试碰到一个问题:有两个非常大的数字M和N,存储形式为string,将其相加后得到的数字也存为string类型并返回。用c#实现。思路:(1)实际上遍历两个字符串从最后一个开始遍历,做小学时候的竖列式计算,逐位相加,满10像前进一位。(2)两个数中最大位数为N,则计算后最大的结果数位数为N+1位。
阅读全文
摘要:金融证券中行情数据时间在图形坐标中索引的转换算法。股票(基金,债券,指数)交易时间为 上午 9:30----11:30(不包含11:30这个点共120数据) 下午 13:00--15:00(不包含15:00这个点共120数据)银行间债券交易时间为 上午9:00---12:00(不包含12:00这个点共180数据) 下午 13:30--16:30(不包含16:20这个点共180数据)如果通过时间计算出对应的坐标索引号(实际上多少分钟,只是从0开始计算)?一、问题如果通过坐标索引号推出时间?二、下面我们以银行债券交易时间作为推算,推出相应的算法上午情况9:00对应09:01对应19:59对应591
阅读全文
摘要:///<summary> /// count个随机数之和为定值sum,并返回count个数据的数值的集合 ///</summary> ///<param name="sum">随机数之和</param> ///<param name="count">count个随机数</param> ///<returns>count个随机数的数值集合</returns> static List<int> GetResult(int sum, int count)
阅读全文
摘要:1、排序方法 将被排序的记录数组R[1..n-1]垂直排列,每个记录R[i]看作是重量为R[i].key的气泡。根据轻气泡不能在重气泡之下的原则,从下往上扫描数组R:凡扫描到违反本原则的轻气泡,就使其向上"飘浮"。如此反复进行,直到最后任何两个气泡都是轻者在上,重者在下为止。(1)初始 R[1..n-1]为无序区。(2)第一趟扫描 从无序区底部向上依次比较相邻的两个气泡的重量,若发现轻者在下、重者在上,则交换二者的位置。即依次比较(R[n-1],R[n-2]),(R[n-2],R[n-3]),…,(R[1],R[0]);对于每对气泡(R[j+1],R[j]),若R[j+1]
阅读全文
摘要:1、二分查找(Binary Search) 二分查找又称折半查找,它是一种效率较高的查找方法。 二分查找要求:线性表是有序表,即表中结点按关键字有序,并且要用向量作为表的存储结构。不妨设有序表是递增有序的。2、二分查找的基本思想 二分查找的基本思想是:(设R[low..high]是当前的查找区间)(1)首先确定该区间的中点位置: (2)然后将待查的K值与R[mid].key比较:若相等,则查找成功并返回此位置,否则须确定新的查找区间,继续二分查找,具体方法如下: ①若R[mid].key>K,则由表的有序性可知R[mid..n-1].keys均大于K,因此若表中存在关键字等于K的结点,则
阅读全文