- 博客(8)
- 收藏
- 关注
翻译 关于c++中类和结构体的区别
C++结构体内部成员变量及成员函数默认的访问级别是public,而c++类的内部成员变量及成员函数的默认访问级别是private。 C++结构体的继承默认是public,而c++类的继承默认是private。 上面两点是最重要的两点了个人感觉 关于两者的创建和使用struct Stu{ string Name; int Age;}clas...
2019-01-05 14:28:42
3003
1
原创 关于C++中vector结构的使用和它的使用函数
这是来源于c++标准模板库STL中的一种顺序结构关于顺序结构还有两种即:c++list 和 c++double-ended queuesVectors 包含着一系列连续存储的元素,其行为和数组类似。访问Vector中的任意元素或从末尾添加元素都可以在常量级时间复杂度内完成,而查找特定值的元素所处的位置或是在Vector中插入元素则是线性时间复杂度。vectors相当于一种容器C...
2019-01-05 13:54:16
398
原创 用C语言解决快速排序问题
快速排序分为三个部分:1,分解即分为三段 2,递归求解:通过递归进行排序 3,合并:将排好序的区间进行合并 递归进行排序即:void QuickSort(){if(p<r){int q = Partition(Type )QuickSort(a , p , q - 1)QuickSort(a , q + 1 , r)//分成了三段}}Part...
2018-07-26 20:25:05
675
原创 C语言解决棋盘覆盖问题
棋盘覆盖问题是典型的利用分治法解决问题把大问题分解成为相同性质的子问题分治的技巧在于如何划分棋盘,使划分后的子棋盘的大小相同,并且每个子棋盘均包含一个特殊方格,从而将原问题分解为规模较小的棋盘覆盖问题。k>0时,可将2^k×2^k的棋盘划分为4个2^(k-1)×2^(k-1)的子棋盘,如图4.11(a)所示。这样划分后,由于原棋盘只有一个特殊方格,所以,这4个子棋盘中只有一个子棋盘包...
2018-07-18 09:41:28
11744
原创 C语言解决二分搜索
二分搜索是运用分治策略的典型例子分治法的基本思想是将一个 规模为n的问题分解为k个规模较小的子问题,这些子问题问互相独立且与原问题相同。递归地解这些子问题,然后将各子问题的解合并得到原问题的解。相比于最坏的情况,顺序搜索方法需要O(n)次比较而二分搜索在最坏的情况下O(logn)时间内完成搜索任务算法实现因为数组本身就是顺序的递归实现:int HalfSearch(i...
2018-07-17 15:39:17
1060
原创 C语言实现全排列
全排列的定义:从n个不同元素中任取m(m≤n)个元素,按照一定的顺序排列起来,叫做从n个不同元素中取出m个元素的一个排列。当m=n时所有的排列情况叫全排列全排列的递归可以尝试自己画一下特别有帮助对研究递归嵌套,反正就是特别难在书上说:设R={r1,r2,....,rn}是要进行排列的n个元素,Ri=R-{ri}。集合X中元素的全排列记为Perm(X)。(ri)Perm(X)表示在全排列Perm(X...
2018-07-16 11:28:00
40753
6
原创 C语言递归解决fibonacci数列算法
斐波那契数列的递归条件是F(n)=1 n=0,F(n)=1 n=1,F(n)=F(n-1)+F(n-2) n>1;可以直接写出递归函数int f(int n){if(n<=1)return 1;elsereturn f(n-1)+f(n-2);}源码就是#include<stdio.h>int fib(int n){ //求fibonacci数列第n个数 ...
2018-07-15 16:10:01
5567
原创 C语言递归解决阶乘问题
递归函数的概念是:直接或者间接地调用自身的算法递归函数:用函数自身给出定义的函数而且在学习的后期 学到了分治法可以感觉到分治法产生的子问题是原问题的较小模式,这就为使用递归技术提供了不小的方便即在合适的情况,使用递归反复分治,大问题变相同性质的小问题,再进行递归求解今天第一次写博客来一个简单的递归例子 阶乘 大一时不会递归一般用类似for的循环体就行求解正常递归和for循环等差别在于for...
2018-07-14 07:45:15
2468
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人