自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 收藏
  • 关注

原创 编译原理 龙书 第二章 一个简单的算术式(+,-)翻译器实现

昨天晚上决定正面硬刚神课《编译原理》。硬上龙书。   下面是 一个简单的算术式中缀变后缀的翻译器。     这个也是 龙书中 一个C实现源码 。部分用c++改写。#include #include #include #include using namespace std;int lookahead;void error()//错误处理{ cout<<"erro

2015-06-10 14:41:52 834

原创 算法导论 动态规划 钢条切割问题的自底向上解法

正式应用动态规划。      适用于动态规划解决的问题应拥有以下两个要素: 1. 最优子结构(最佳选择)2.子问题重叠(最终的最优解的每个分部步骤,都是当前最优的子解。与贪心算法试图通过局部最优解来组合成最优解的思想相似) 下面第一版代码中,依旧存在与上一篇第一版代码相同的问题——只能求解p数组中给出的最大限度。N>=10,代码就不能够求解出正确答案。(代码中你们都懂的

2015-06-08 08:28:23 1544

原创 动态规划 钢条切割问题的朴素解法

第一版代码 :#include using namespace std;int max(int a,int b){ if(a>=b)return a; else return b;}int cut_rod(int *p,int n){ int q=NULL; if(n==0)return 0; else for(int i=0;i<n;i

2015-06-03 17:19:32 667

原创 算法导论(四) (1)

#include using namespace std;int main(){ int a[5]; int b[5]; int c[10]; for(int i=1;i<5;i++) cin>>a[i]; for(int i=0;i<10;i++) c[i]=0; for(int i=1;i<=4;

2015-06-03 13:56:46 489

原创 算法导论(三) 快速排序

快排直接上代码,数学推导以后再上还有一版随机化版本的快速排序#include using namespace std;void _swap(int a[] , int i , int j)//交换函数{ int temp; temp = a[i]; a[i] = a[j]; a[j] = temp;}int Partiti

2015-06-02 13:09:53 524

原创 算法导论(二)堆排序

debug这么久hhhhhhh 话不多说 贴代码#include #include using namespace std;void Max_Heapify(int *a,int i,int _size){ int l,r,largest; int temp; l = 2*i; r = 2*i+1; if(la[i])

2015-06-01 20:32:42 514

原创 算法导论 (一)归并排序实现 c++

#include using namespace std;void Merge_Sort(int *a,int p,int q ,int r)//归并{ int i,j,k; int n1=q-p+1; int n2=r-q; int *le=NULL; int *ri=NULL; le = new int [

2015-05-27 17:34:11 612

原创 高精度数算法 - - 加法

基本数据类型 长度有限。所以大的数据被单独拿出来。高精度算法就是模拟我们在纸上的运算。 我擦,跟百度上30行的代码比较,我的80行就是狗屎。。。。。要死要死要死我忘记了。。。。一个空间有剩余的int[]后面是自带补0的啊。。。。。。 还有平时没有注意到的三目运算符length=(str1>str2)?str1:str2;上代码#include #inclu

2014-12-06 19:14:31 410

原创 水题 删数问题

Description问题描述: 给定n位正整数a,去掉其中任意k个数字后,剩下的数字按原次序排列成一个新的正整数。 算法设计: 给定n (1试着设计一个算法,找出删去k个数,剩下数字组成的新数最小的删数方案。Input 可输入多组测试数据,每组测试数据分两行,每行一个数,数的含义如下。第一行:正整数a(a是大于0的一个n位正整数) 第二行:

2014-12-06 16:50:29 438

原创 十五周指针基础

(2)   new 和delete  //下面的程序,输入10 100和100 10,均可以输出max=100 min=10,请补充完整程序#include using namespace std;int main( ){ int *p1,*p2,t; //本程序以下不准再加入新的变量,下面用new操作符分配空间,并用p1、p2分别保存其地址 p1=new int;

2014-12-02 11:32:25 356

原创 14周项目二

换了选择排序做的题因为第二遍做遍历的时候  手残打成了从0开始。导致排序失败= =来回找不到错位在哪里,思维定式。没难度的题目做了三个小时也是要死要死的。感觉真是爽爆了#include #include using namespace std;int main(){ int i,key,j; double k; const int num=8; s

2014-11-30 16:28:25 361

原创 选择排序和冒泡排序的区别

选择排序和冒泡排序在循环次数上是一样的。

2014-11-24 18:14:38 508

原创 数组大折腾

//#include using namespace std;int main(){ int a[20]= {1,2,3,4,5,6,7,8,9,1};//初始化前10个元素 cout<<"请输入十个整数"<<endl; for(int i=10;i<20;i++) { cin>>a[i]; } for(int i=0;i<

2014-11-24 17:08:26 376

原创 金色十月编程第一题

一个小女孩正在用左手手指数数,从1数到n。她从拇指算作1开始数起,然后,食指为2,中指为3,无名指为4,小指为5。接下来调转方向,无名指算作6,中指为7,食指为8,大拇指为9,如此反复。问最后会停在那个手指上?用编号1、2、3、4、5依次表示大拇指、食指、中指、无名指、小指。输入格式:输入多组数据。每组数据占一行,只包含一个整数n(1输出格式:每组数据占一行,只包含一个介于1和5之

2014-11-04 21:49:52 1037

原创 今天的任务是解析如何实现顺序表

不管实现几个,反正就是尽量好啦

2014-10-30 20:33:47 372

原创 朴素排序法 冒泡的实现。

冒泡法稳定(数据之间相对的位置 )

2014-10-29 22:29:15 488

原创 穷举

#include    using namespace std;  int main()  {      int a,b,c,count=0;      cout"小明借书给三位小朋友书的方案有:"    for(a=1;a//穷举a借5本书中的1本的全部情况          for(b=1;b//穷举b借5本书中的一本的全部情况              for(c=1;c//穷举c借5本书中

2014-10-29 20:08:17 487

原创 两月内关于学习的思考

两个月内算是对整个未来的

2014-10-29 19:49:33 326

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除