随笔分类 -  算法

摘要:C/C++,java开源数学计算库 有限元分析、数值计算、三维建模、信号处理、性能分析、仿真分析。。。这些或多或少与我们常用的软件息息相关,假如有一天你只需要这些大型软件系统的某一个很有限的功能,你是不是也要因此再用一用那动辄几个g的软件呢?其实我觉得如果系统不是很大,不是很复杂,我们个人完全有可能自己去编写代码来实现这些‘’有限的功能‘’。别以为这是件很困难的事情,我总以为大学期间学的c语言是极其有用的,只要你会基本的c语言语法,你就可以的。 下面我来介绍几个非常有益的c/c++数学计算库,他们基本上都是开源的,你完全不必担心版权问题,他们都是一些自由软件,你要做的仅仅是仔细阅读他们的授权. 阅读全文
posted @ 2013-04-27 22:58 洒洒 阅读(11509) 评论(2) 推荐(0) 编辑
摘要:表驱动,又称之为表驱动法、表驱动方法。 “表”是几乎所有数据结构课本都要讨论的非常有用的数据结构。表驱动方法出于特定的目的来使用表,程序员们经常谈到“表驱动”方法,但是课本中却从未提到过什么是"表驱动"方法。表驱动方法是一种使你可以在表中查找信息,而不必用很多的逻辑语句(if或Case)来把它们找出来的方法。事实上,任何信息都可以通过表来挑选。在简单的情况下,逻辑语句往往更简单而且更直接。但随着逻辑链的复杂,表就变得越来越富有吸引力了,通过下面的这个例子大家就能知道什么是所谓的表驱动方法了。 假设你需要一个可以返回每个月中天数的函数(为简单起见不考虑闰年), 一个比较笨的方 阅读全文
posted @ 2013-03-27 10:28 洒洒 阅读(740) 评论(0) 推荐(0) 编辑
摘要:function foreachDir($path){ $handle=opendir($path); if($handle){ while (false !== ($file = readdir($handle))) { if($file!="." && $file!='..'){ if(is_dir($path.$file)){ echo $path.$file."<br/>"; ... 阅读全文
posted @ 2013-03-18 23:17 洒洒 阅读(368) 评论(0) 推荐(0) 编辑
摘要:哈希表的通俗解说:设要存的数据如下格式: 姓名 学号 成绩 刘三 2322232 89创建空的哈希表。例:以姓名为key,用哈希函数得出key的哈希值作为该key所在数据存储的地址。然后将该数据存到该地址。如果该地址已经存有数据(即:不同的key得出了相同的哈希值),则用特定的冲突解决方法再计算出新的哈希值,以此类推。查找时,输入要查询数据的key值,例:王七。程序将计算出key王七的哈希值,直接调出王七哈希值所在地址的数据。节省查询时间 阅读全文
posted @ 2013-03-18 22:44 洒洒 阅读(201) 评论(0) 推荐(0) 编辑
摘要:交换排序的基本思想是:两两比较待排序记录的关键字,发现两个记录的次序相反时即进行交换,直到没有反序的记录为止。 应用交换排序基本思想的主要排序方法有:冒泡排序和快速排序。冒泡排序1、排序方法 将被排序的记录数组R[1..n]垂直排列,每个记录R[i]看作是重量为R[i].key的气泡。根据轻气泡不能在重气泡之下的原则,从下往上扫描数组R:凡扫描到违反本原则的轻气泡,就使其向上"飘浮"。如此反复进行,直到最后任何两个气泡都是轻者在上,重者在下为止。(1)初始 R[1..n]为无序区。(2)第一趟扫描 从无序区底部向上依次比较相邻的两个气泡的重量,若发现轻者在下、重者在上,则交 阅读全文
posted @ 2013-03-18 22:29 洒洒 阅读(457) 评论(0) 推荐(0) 编辑
摘要:二分查找1、二分查找(Binary Search) 二分查找又称折半查找,它是一种效率较高的查找方法。 二分查找要求:线性表是有序表,即表中结点按关键字有序,并且要用向量作为表的存储结构。不妨设有序表是递增有序的。2、二分查找的基本思想 二分查找的基本思想是:(设R[low..high]是当前的查找区间)(1)首先确定该区间的中点位置:(2)然后将待查的K值与R[mid].key比较:若相等,则查找成功并返回此位置,否则须确定新的查找区间,继续二分查找,具体方法如下: ①若R[mid].key>K,则由表的有序性可知R[mid..n].keys均大于K,因此若表中存在关键字等于K的结点. 阅读全文
posted @ 2013-03-18 22:27 洒洒 阅读(239) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示