算法期末复习-----递归与分治

第二章递归与分治 直接或间接地调用自身的算法称为递归算法。用函数自身给出定义的函数称为递归函数。   1.全排列 算法思想:当n=1时,Perm(R)=(r),当n>1时,perm (R)=(r1)perm(R1),Ri=R-{ri),而perm(R1)=(r...

2018-12-31 19:53:06

阅读数 72

评论数 0

算法分析与设计----分治策略

一、分治策略的基本思想 1.将原始问题划分或者归结为规模较小的子问题 2.递归或迭代的求解每个子问题 3.将子问题的解综合得到原问题的解 注意: 1.子问题与原始问题性质完全一样 2.子问题之间可彼此独立求解 3.递归停止时,子问题足够小可直接求解 二、应用 (一)二分检索  ...

2018-12-16 22:04:44

阅读数 11

评论数 0

标准模板库STL之map

转载:http://www.cnblogs.com/drq1/p/9699482.html#undefined https://www.w3cschool.cn/cpp/cpp-fu8l2ppt.html 一、Map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能...

2018-12-14 22:06:19

阅读数 29

评论数 0

标准模板库STL之list

一、list:封装链表相关功能 函数功能 功能 push_back 在尾部添加一个结点 pop_back 在尾部删除一个结点 push_front ...

2018-12-14 21:35:50

阅读数 12

评论数 0

Devcpp(Dev-C++)代码编辑的快捷键

转载:https://blog.csdn.net/u010940020/article/details/43735549 这里记录一些个人使用Devcpp时,摸索出来的代码编辑快捷键,感觉非常有用。如果是熟悉eclipse软件使用的开发者,对它在标号上的光标跳转,文本的选取,翻页等等快捷键的使用...

2018-12-14 21:15:52

阅读数 30

评论数 0

标准模板库STL之vector

一、向量vector用于实现数组的功能(便于访问,不便于插入删除),相当于在数组的基础上封装了一些常用的功能。 函数功能 功能 push_back 在尾部添加一个元素 pop_back 在尾部删除一个元素 clear 清空所有元素 at 按索引访问某...

2018-12-14 19:38:15

阅读数 16

评论数 0

STL:标准模板库简介

一、STL:standard template library标准模板库,一般支持C++编译器都带了STL的支持,里面提供了大量的函数模板(通用算法)和类模板。我们任务就是学会使用它。 二、四个常用的模板vector list map string 三、一般用法 (1)头文件不带.h后缀,例...

2018-12-14 16:42:33

阅读数 27

评论数 0

C/C++----------深入了解字符串

一、C风格字符串(C-Style String) 在内存中紧密排列的一串字符,以0结尾。以内存的首地址来代表该字符串,char*.C风格字符串不需要另外指定长度,规定以0作为结束。 二、字符串的几种存在方式: 1、字符数组 2、char*型指针 3、字符串常量 const char* s...

2018-12-14 16:22:56

阅读数 10

评论数 0

如何安全的使用指针?

目录:          指针安全使用的两条规则          空指针         安全使用指针的4条注意事项 正文: 一、指针不可以乱用,否则会导致程序崩溃。在使用指针之前,一定要弄清楚两个问题: (一)这个指针指向了哪儿; (二)这个指针指向的那个地方是否有效?(能否访问...

2018-12-14 15:10:16

阅读数 326

评论数 0

const修饰指针

普通指针 #include<stdio.h> int main(){ int a=10; int* p=&a; int b=*p;//可读 *p=11;//可写 return 0; } 在指针前面加const...

2018-12-14 09:43:40

阅读数 17

评论数 0

C语言如何让一个函数返回多个值

转载:https://jingyan.baidu.com/article/d169e1860d278d436711d854.html 一、实现方法 1.用指针和数组(数组名本质上是一个指针); 2.或是你根本就不要返回,设置一个宏观变量(全局变量),主函数和子函数都使用,就不用返回了 3....

2018-12-13 22:11:08

阅读数 158

评论数 0

指针作为函数传参

 一、使用指针作为参数,可以实现两种功能: (1)可以读取上一层函数中的变量的值*p (2)可以修改上一层函数中变量中的值*p(普通参数无法实现) #include<stdio.h> void test(int* p){ printf(&...

2018-12-13 19:24:57

阅读数 25

评论数 0

指针与数组

一、数组名的含义 在C/C++中,数组名就是地址,即数组在内存中的位置,它表示第一个元素的地址(首地址) int arr[4]={1,2,3,4}; int* p=arr;//arr本身的类型就是int* 相当于int *p=&arr[0];//第一元素的地址 二...

2018-12-13 16:25:01

阅读数 12

评论数 0

指针定义

变量和内存 内存用于存储数据,最小的单元是字节,每个单元都有一个地址编号,从0X0000000~0XFFFFFFFF 变量有大小,指的是在内存占了几个字节。 变量有地址,是变量在内存的位置,用&号可以取得地址。 变量赋值,就是向内存写入数据。读变量的值,就是从内存读...

2018-12-13 16:24:00

阅读数 16

评论数 0

字符数组

一、字符数组的表示 用char表示一串字符串 两种初始化方法 普通方法 char a[19]={'a','s','\0'); 特殊方法(独有的) //特殊的初始化方法,不能超长度 char str[6]="hello"; str[0]='h...

2018-12-12 20:26:14

阅读数 12

评论数 0

字符

一、字符是什么,键盘有四种 字母:a~z printf("%c%c%c",'1','\n','2'); 数字:0~9 标点:+ - * / 控制字符:Tab Enter 二、计算机只能存储0和1,于是想到用数字化的方式来表示字符。例如:当内存中存储...

2018-12-12 20:04:15

阅读数 22

评论数 0

C++的函数重载(具体应用)

一、C++重载函数的函数匹配步骤 1先根据函数名进行查找--------找到一个或多个同名的函数(若一个都没有,报编译错误) 2找到函数名后按照“类型”+“个数”进行匹配----------若找到一个完全匹配(参数个数和类型都相同)的函数,则调用该函数                    ...

2018-12-12 19:17:53

阅读数 17

评论数 0

C++的函数重载(定义初学)

前言:C语言不允许函数重名,这给程序员带来了不少的麻烦。 例如: (1)写一个函数,求2个数中的最大值 double find_max(double a,double b); (2)写一个函数,求3个数中的最大值 double find_max(double a,double b,dou...

2018-12-12 18:49:51

阅读数 23

评论数 0

ASCII码

空格           32 0的ASCII码48 9                 57 A                 65 Z                90 a                97 z              122 'a'-'A'=32 ...

2018-12-12 18:23:29

阅读数 12

评论数 0

变量的生命期和作用域

一、变量的作用域:是从编写代码的角度,每个变量都有一个有效的范围。在这个范围之内这个变量是可以访问的。         可以访问上一层级的变量 二、局部变量的作用域:(1)从定义之处生效(2)到大括号结束失效(该变量所在大括号)       变量的生命期:是从程序运算的角度,指当程序运行时,...

2018-12-12 16:36:25

阅读数 24

评论数 0

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