数据结构(严慰敏)配套纯c代码实验十 typedef int InfoType // 定义其它数据项的类型 typedef int KeyType // 定义RedType类型的关键字为整型 struct RedType // 记录类型(同c10-1.h) { KeyType key // 关键字项 InfoType otherinfo // 其它数据项 } typedef char KeysType // 定义关键字类型为字符型 #include"c1.h" #include"c10-3.h" void InitList(SLList &L,RedType D[],int n) { // 初始化静态链表L(把数组D中的数据存于L中) char c[MAX_NUM_OF_KEY],c1[MAX_NUM_OF_KEY] int i,j,max=D[0].key //
标签: typedef int InfoType KeyType
上传时间: 2016-03-03
上传用户:2404
设平面上有一个m´ n的网格,将左下角的网格点标记为(0,0)而右上角的网格点标记为(m,n)。某人想从(0,0)出发沿网格线行进到达(m,n),但是在网格点(i,j)处他只能向上行进或者向右行进,向上行进的代价为aij(amj =+¥ ),向右行进的代价是bij(bin =+¥ )。试设计一个动态规划算法,在这个网格中为该旅行者寻找一条代价最小的旅行路线。用高级程序设计语言编写程序求解动态规划模型。
上传时间: 2013-12-06
上传用户:13160677563
RMQ问题是指:对于长度为n的数列A,回答若干询问RMQ(A,i,j)(i,j<=n),返回数列A中下标在[i,j]里的最小值下标。
上传时间: 2013-12-26
上传用户:rocwangdp
动态规划的方程大家都知道,就是 f[i,j]=min{f[i-1,j-1],f[i-1,j],f[i,j-1],f[i,j+1]}+a[i,j] 但是很多人会怀疑这道题的后效性而放弃动规做法。 本来我还想做Dijkstra,后来变了没二十行pascal就告诉我数组越界了……(dist:array[1..1000*1001 div 2]...) 无奈之余看了xj_kidb1的题解,刚开始还觉得有问题,后来豁然开朗…… 反复动规。上山容易下山难,我们可以从上往下走,最后输出f[n][1]。 xj_kidb1的一个技巧很重要,每次令f[i][0]=f[i][i],f[i][i+1]=f[i][1](xj_kidb1的题解还写错了)
上传时间: 2014-07-16
上传用户:libinxny
问题描述 设有n种不同面值的硬币,各硬币的面值存于数组T[1:n]中。现要用这些面值的硬币来找钱,可以实用的各种面值的硬币个数不限。当只用硬币面值T[1],T[2],…,T[i]时,可找出钱数j的最少硬币个数记为C(i,j)。若只用这些硬币面值,找不出钱数j时,记C(i,j)=∞。 编程任务 设计一个动态规划算法,对1≤j≤L,计算出所有的C( n,j )。算法中只允许实用一个长度为L的数组。用L和n作为变量来表示算法的计算时间复杂性 数据输入 由文件input.txt提供输入数据。文件的第1行中有1个正整数n(n<=13),表示有n种硬币可选。接下来的一行是每种硬币的面值。由用户输入待找钱数j。 结果输出 程序运行结束时,将计算出的所需最少硬币个数输出到文件output.txt中。
标签:
上传时间: 2016-07-28
上传用户:yangbo69
一、 实验目的: (1) 熟练掌握链栈的基本操作及应用。 (2) 利用链表作为栈的存储结构,设计实现一个求解迷宫的非递归程序。 二、实验内容: 【问题描述】 以一个m×n的长方阵表示迷宫,0和1分别表示迷宫中的通路和障碍。设计一个程序,对任意设定的迷宫,求出一条从入口到出口的通路,或得出没有通路的结论。 【基本要求】 首先实现一个链表作存储结构的栈类型,然后编写一个求解迷宫的非递归程序。求得的通路以三元组(i,j,d)的形式输出,其中:(i,j)指示迷宫中的一个坐标,d表示走到下一坐标的方向。如:对于下列数据的迷宫,输出的一条通路为:(1,1,1),(1,2,2),(2,2,2),(3,2,3),(3,1,2),……。
上传时间: 2013-12-16
上传用户:aix008
function [U,center,result,w,obj_fcn]= fenlei(data) [data_n,in_n] = size(data) m= 2 % Exponent for U max_iter = 100 % Max. iteration min_impro =1e-5 % Min. improvement c=3 [center, U, obj_fcn] = fcm(data, c) for i=1:max_iter if F(U)>0.98 break else w_new=eye(in_n,in_n) center1=sum(center)/c a=center1(1)./center1 deta=center-center1(ones(c,1),:) w=sqrt(sum(deta.^2)).*a for j=1:in_n w_new(j,j)=w(j) end data1=data*w_new [center, U, obj_fcn] = fcm(data1, c) center=center./w(ones(c,1),:) obj_fcn=obj_fcn/sum(w.^2) end end display(i) result=zeros(1,data_n) U_=max(U) for i=1:data_n for j=1:c if U(j,i)==U_(i) result(i)=j continue end end end
标签: data function Exponent obj_fcn
上传时间: 2013-12-18
上传用户:ynzfm
一个基于GTK+的单词数值计算器,1、 按照规则计算单词的值,如果 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 26个字母(全部用大写)的值分别为 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26,如: WINJACK这个单词的值就为:W+I+N+J+A+C+K=23+9+14+1+3+11=71% HARDWORK=H+A+R+D+W+O+R+D=8+1+18+4+23+15+18+11=98% LOVE=L+O+V+E=12+15+22+5=54% LUCK=L+U+C+K=12+21+3+11=47% ATTITUDE= A+T+T+I+T+U+D+E=1+20+20+9+20+24+4+5=100% 2、对程序的界面布局参考如下图所示,在第一个单行文本框输入一个单词,点击“计算”按钮,按照以上算法计算出该单词的值。 3、如果在最下面的单行文本框输入一个文件路径,此文件每行记录一个单词,那么经过程序计算出各个单词的值,并把结果输出到当前目录下result.txt文件中。如果文件不存在,应该提示错误。
上传时间: 2014-01-11
上传用户:康郎
遥控解码通过电脑串口显示 /* 晶振:11.0569MHz */ #include <REGX52.h> #define uchar unsigned char uchar data IRcode[4] //定义一个4字节的数组用来存储代码 uchar CodeTemp //编码字节缓存变量 uchar i,j,k //延时用的循环变量 sbit IRsignal=P3^2 //HS0038接收头OUT端直接连P3.2(INT0) /**************************延时0.9ms子程序**********************/ void Delay0_9ms(void) {uchar j,k for(j=18 j>0 j--) for(k=20 k>0 k--) } /***************************延时1ms子程序**********************/ void Delay1ms(void) {uchar i,j for(i=2 i>0 i--) for(j=230 j>0 j--) }
标签: uchar unsigned 11.0569 include
上传时间: 2013-12-12
上传用户:Breathe0125
:#include <stdlib.h>#include <stdio.h>#include <time.h> void InsertSort(int a[],int *(k1),int *(k2))//0:直接插入排序{ int i,j int temp *(k1)=0 *(k2)=0 for(i=0 i<149 i++) { temp=a[i+1] *(k2)++ ...
标签: include InsertSort gt lt
上传时间: 2014-11-30
上传用户:362279997