最短路径算法:最短路径

最短路径也是我们数据结构中学习的重点,很多初级学者都不知道最短路径的实现,下面给出的求最短路径的方法希望能对你有所帮助。A.标号法求解单源点最短路径: var a:array[1..maxn,1..maxn] of integer; b:array[1..maxn] of integer; {b[i]指顶点i到源点的最短路径} mark:array[1..maxn] of boolean;... [阅读全文]

crc算法:全面分析CRC算法

CRC全称为CyclicRedundancyCheck中文名称为循环冗余校验它是类重要线性分组码编码和解码思路方法简单检错和纠错能力强在通信领域广泛地用于实现差错控制实际上除数据通信外CRC在其它很多领域也是大有用武的地例如我们读软盘上文件以及解压个ZIP文件时偶尔会碰到“BadCRC”由此它在数据存储方面应用可略见斑 差错控制理论是在代数理论基础上建立起来这... [阅读全文]

排序算法实例:B树算法应用实例

B树算法主要应用于数据库索引综合效率很高 另外还有种和此类似树结构叫B+树像 Berkerly DB , sqlite , mysql 数据库都使用了B+树算法处理索引 这两种处理索引数据结构区别的处: 1B树中同键值不会出现多次并且它有可能出现在叶结点也有可能出现在非叶结点中而B+树键定会出现在叶结点中并且有可能在非叶结点中也有可能重复出现以维持B+树平衡 ... [阅读全文]

图的遍历和生成树求解方案

学过数据结构人对图遍历和生成树求解点很熟悉吧今天我们就起来分析下给出图遍历和生成树求解方案# iostream# malloc.husing std; # _max 10000# inf 9999 # max 20//…………………………………………邻接矩阵定义……………………typedef struct ArcCell{ adj;char *info;}A... [阅读全文]

数据结构教程:数据结构教程 第二十三课 二叉树的存储结构

教学目的: 掌握二叉树的两种存储结构教学重点: 链式存储结构教学难点: 链式存储二叉树的基本操作授课内容:一、复习二叉树的定义二叉树的基本特征:每个结点的度不大于2。二、顺序存储结构#define max_tree_size 100typedef telemtype sqbitree[max_tree_size];sqbitree bt;对结点有二个指针域的存储方式有以下表示方法:typedef ... [阅读全文]

数据结构实验报告:数据结构教程 第二十二课 实验五 数组实验

教学目的: 掌握二维数组的实现方法教学重点: 二维数组的存储表示,二维数组的基本操作教学难点: 二维数组的基本操作授课内容:数组的顺序存储表示和实现:#includestdarg.h#define max_array_dim 8typedef struct {elemtype *base;int dim;int *bounds;int *constants;}array;status initar... [阅读全文]

数据结构教程 第三十二课 哈希表(一)

教学目的: 掌握哈希表的概念作用及意义,哈希表的构造方法教学重点: 哈希表的构造方法教学难点: 哈希表的构造方法授课内容:一、哈希表的概念及作用一般的线性表,树中,记录在结构中的相对位置是随机的,即和记录的关键字之间不存在确定的关系,因此,在结构中查找记录时需进行一系列和关键字的比较。这一类查找方法建立在“比较“的基础上,查找的效率依赖于查找过程中所进行的比较次数。 理想的情况是能直接找到需要的记... [阅读全文]

数据结构查找:数据结构教程 第三十课 静态查找表(二)有序表的查找

教学目的: 掌握有序表的折半查找法教学重点: 折半查找教学难点: 折半查找授课内容:一、折半查找的查找过程以有序表表示静态查找表时,search函数可用折半查找来实现。先确定待查记录所在的范围(区间),然后逐步缩小范围直到找到或找不到该记录为止。... [阅读全文]

数据结构顺序表:数据结构教程 第二十九课 静态查找表(一)顺序表的查找

教学目的: 掌握查找的基本概念,顺序表查找的性能分析教学重点: 查找的基本概念教学难点: 顺序表查找的性能分析授课内容:一、查找的基本概念四、总结什么是查找表顺序表的查找过程... [阅读全文]

加密算法:算法示例-BinarySearchTree

importjava.util.ArrayList; importjava.util.List; publicBinarySearchTree{ /** *数据节点 */ publicNode{ key; Nodeparent;//父节点 Nodeleft;//左子节点 Noderight;//右子节点 publicNode(key){ this.key=ke... [阅读全文]

linux进程的实现:哲学家就餐问题在 linux 上的程序实现

和windows平台实现类似 上稍有区别 PhilosopherDining.cpp #iostream # #pthread.h #unistd.h #semaphore.h #\"RasUtil.h\" usingstd; constunsignedPHILOSOPHER_NUM=5; constcharTHINKING=1; constcharHUNGRY... [阅读全文]

数字组合:给出各种数字的组合, 自动找出最大的一个

如果我传入1,1,1,1,1和1,1,1,1,2,它会知道要算111*11和111*12,求出较大是111*12并输出这个组合以及其乘积.这个程式并不难嘛.\" 1#calc.py 2defcalc(seq): 3maximum=0 4max_item= 5foriinseq: 6product=(i[0]*100+i[1]*10+i[2])*(i[3]*10+... [阅读全文]

回溯与递归:任何递归/回溯函数都可以还原成非递归形式

於是你决定用你自己方式试.你默念著求排列思路方法,5个数取个,剩下4个,再取个,剩下3个....於是你写出个新程式,和最初个很相像: 1#permute5.py 2defpermute(seq): 3result= 4foriinseq: 5seq1=seq[:] 6seq1.remove(i) 7forjinseq1: 8seq2=seq1[:] 9seq2... [阅读全文]

最大k乘积:求最大的乘积

开始计算: 假设 5个数为[a][b][c]*[d][e],展开话成为 a*100*d*10 +a*100*e*1 +b*10*d*10 +b*10*e*1 +c*1*d*10 +c*1*e*1 这个可以写成个矩阵: de a1000100 b10010 c101 你这样想到:在整个答案中,a带来页献是个百位数加上个十位数,而d页献是个百位数加十位数加个... [阅读全文]

后序遍历非递归算法:遍历二叉树的非递归算法

根据树中结点的遍历规律及顺序直接写出其非递归算法。 先序非递归算法 【思路】 假设:T是要遍历树的根指针,若T!=NULL 对于非递归算法,引入栈模拟递归工作栈,初始时栈为空。 问题:如何用栈来保存信息,使得在先序遍历过左子树后,能利用栈顶信息获取T的右子树的根指针? 方法1:访问T-data后,将T入栈,遍历左子树;遍历完左子树返回时,栈顶元素应为T,出栈,再先序遍历T的右子树。 方法2:访问T... [阅读全文]

最快的排序算法:“求最值”和“排序”算法

含有许多元素这些元素如果是可以比较大小那就常常需要种计算求出这些元素中最大值或最小值求最值算法应用在方方面面比如:如何找出条街上你喜欢那某裙子最便宜卖那家店比如当早上第 4节下课铃敲响后如何找出从教室到食堂最近条路等等 18.1.1基本思路和实现 我想大家都知道了到要讲例子我举例子就是“成绩管理”“烦不烦呢?”我看到有些同学使劲撇嘴可不能烦啊上章成绩管理中“求... [阅读全文]

整数浮点运算:快速转换浮点数到整数

在计算机图形运算中常常要将浮点数转换为整数例如在图像光栅化阶段就要执行大量类型转换以便将浮点数表示坐标转化为整数表示屏幕坐标Okit’ssoeasy: ---------------------------------------------------------------------------------------- // //强制类型转换 //小数... [阅读全文]

双向起泡的排序算法:双向排序算法代码

privatevoidDataGrid1_SortCommand(objectsource,System.Web.UI.WebControls.DataGridSortCommandEventArgse) { if(ViewState[\"Order\"]==null) { ViewState[\"Order\"]=\"ASC\"; } else { if(ViewState[\"Order\"]... [阅读全文]

链表的c语言实现:鬼谷算题--用C语言实现

题目如下:今有一物不知其数,三三数之剩二,五五数之剩三,七七数之剩二.部物几何?这属于高等数学的数论. 解答:\"三人同行七十稀,五树梅花二十一枝,七子团圆正半月,去百零五便得知.意思:以三三数之,佘数乘以七十,五五数之,佘数乘以二十一,七七数之,佘数乘以15.三者相加,如大于105即得数减去105为答案如小于105即为答案.答案为\"23\" 用C语编程实现为: #include main() ... [阅读全文]

分布式:P2P主流分布式哈希算法深入介绍

首先从P2P定义出发介绍了结构化P2P和非结构化P2P区别以及结构化P2P核心技术DHT而后本文深入介绍了几种主流DHT算法和协议并对每种协议进行了讨论文章最后展望了DHT在未来发展趋势 对等网络(Peer-to-Peer简称P2P)是目前非常热门应用自1999年以来P2P研究直是国外知名学府(如美国麻省理工学院加州大学伯克利分校和莱斯大学等)以及知名企业研发机... [阅读全文]

c语言常用函数:高精度常用函数实现(C++)

高精度常用实现(C) #maxsize100 structhp { len; s[maxsize+1]; }; voidinput(hp&a,str) { i; while(str[0]’0’&&str.size!=1) str.erase(0,1); a.len=()str.size; for(i=1;i=a.len;i) a.s[i]=str[a.len-i... [阅读全文]

螺旋方阵:螺旋方阵算法实现

packagetopcoder; /* *下面是个5*5阶螺旋方阵.试编程打印出此形式n*n(n10)阶方阵(顺时针方向旋进). *12345 *161718196 *152425207 *142322218 *131211109 */ publicscrewSquare { publicvoid(Stringargs){ (args.length0){ .ou... [阅读全文]

javascript对象:javascript对某个属性对象进行排序

用javascript模仿java实现的有序链表,实现按对象的某个属性对对象进行排序。 script functionLink1(){} Link1.prototype.obj=null; Link1.prototype.next1=newLink1(); functionLink1.prototype.Link1(object){ obj=object; } functionSortedList... [阅读全文]

des算法代码:内存移动算法代码

对于有K个元素的数组int a[k]={.......};写一个高效算法将数组内容循环左移m位,比如:int a[6]={1,2,3,4,5,6},循环左移3位后得到结果{4,5,6,1,2,3}. 要求:1.不允许另外申请数组空间,但可以申请少许变量; 2.不允许采用每次左移。 最直观的想法,就是从第一个元素开始,把他一步移动到最终目的位置,而该位置原有的元素的值取出,移动到它的新位置。递归进行... [阅读全文]

概率算法:数学概率m选n算法

类似于组合几率算法,计算M中选取N,由于实际需要编写了这个算法,也许对你有帮助哦void cnm1(int* a,int start,int n,int m){if(start==n){for(int i=0;in;++i)couta[i];coutendl;return;}int s=0;if(start==0)s=a[0]+1;elses=a[start-1]+1;for(int i=s;i... [阅读全文]

素数算法:素数的算法代码

素数就是质数。它除了能表示为它自己和1的乘积以外,不能表示为任何其它两个整数的乘积。例如,15=3*5,所以15不是素数;又如,12=6*2=4*3,所以12也不是素数。另一方面,13除了等于13*1以外,不能表示为其它任何两个整数的乘积,所以13是一个素数。 实现代码如下: C++Code: VC++6.0SP6+WindowsXP #include\"iostream.h\" #include... [阅读全文]

椭圆曲线密码:椭圆曲线密码编码学

国内详细介绍ECC公开文献并不多(反正我没有找到)有些介绍也是泛泛而谈看完后依然理解不了ECC实质(可能我理解力太差)前些天我从国外网站WebSite找到些材料看完后对ECC似乎懵懂了于是我想把我对ECC认识整理下和大家分享当然ECC博大精深我认识还很肤浅文章中定不少欢迎各路高手批评指正小弟我洗耳恭听并及时改正文章将采用连载方式我写好点就贴出来点本文主要侧重理论... [阅读全文]

数据结构存储结构:树数据结构的低冗余存储实现

1(Array1):存储节点内容 FF11F12F13F14F211F212F221F231F232F232F321 F322 structNode { number;//序号 nodetypecontent;//内容 }; NodeArray1; 2(Array2):存储树结构信息 421300200000 0 Array2; 提供如下标准操作: 添加节... [阅读全文]

查找和排序算法:排序及查找方法

#include malloc.h#includestdio.h#define n 11/*用监视哨查找*/int search(int array[],int n,int k){int i;i=n-1;array[0]=k;while(array[i]!=k) i--;return(i);}/*折半查找法*/int halfsearch(int array[],int n,int k){int ... [阅读全文]

简单的行编辑器

#include stdlib.h /* for _max_path definition */#include stdio.h#include malloc.h#include string.h#include conio.h#define stack_init_size 100#define stackincrement 10struct sqstack{char *base;char *to... [阅读全文]
<< < 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 > 共792条 分27页