- 博客(18)
- 收藏
- 关注
原创 机器学习——周志华读书笔记
1、模型评估方法:留出发:数据集分割为两部分,data=测试集+训练集;2/3~4/5作为训练集,其余测试集交叉验证:数据集分割为k组,k-1组为训练集,剩余1组为测试集。共k中情况,对k种情况的训练结果求平均作为最终结果。为了避免分割的影响,对上述过程进行p次,求p次总均值。称为p次k折交叉验证。自助法:m个原始数据集D,进行又放回抽样,每次抽1个,抽取m次,得到一个新样本D1。原始...
2019-04-22 16:36:53
332
原创 计算机网络
第一章1、 网络发展三阶段:(1)单个网络:仅与就近结点连接;(2)三级结构因特网:主干网,地区网,校园网(3)三级ISP(Internet service provider)因特网:通信过程:主机A->本地ISP->二级ISP->NAP(networkaccess point)网络接入点->一级ISP->NAP->二级ISP->本地...
2019-04-22 08:43:29
362
原创 strtok分割字符串
1、strtok分割字符串#include<string.h>#include<stdio.h>int main(void){ char arr[]={"i am a student"}; char*p=arr; while(1) { p = strtok(p," ");/*char *strtok(char s[], const char *delim);当st...
2018-03-16 19:51:15
335
原创 魔方阵
注意点:环形处理,二维数组打印,初始化(加标签)void MagicSquare(){#define SIZE 3 assert(SIZE%2 !=0 );//该算法只适用于奇数 int arr[SIZE][SIZE]={0};//初始化为0,一边以后判断是否已填充 int row = 0; int col = SIZE/2;//3/2=1;0,1,2的中间位置是1.因为标号从0开始
2017-12-23 20:47:22
323
原创 应注意的考题
1、#includeint *p = (int*)malloc(10)问:p在内存中的存放位置:(堆);&p在内存中的存放位置:(栈)2、int a=10;int*q=&a问:q在内存中的存放位置:(栈);&q在内存中的存放位置:(栈)总结:指针本身如p,指针指向的内容所在区域;而指针的地址,放指针变量所在地址(栈)3、魔方阵4、杨辉三角(二维数组、一位数组、不用数
2017-12-14 22:57:55
172
原创 变量比较
普通全局变量:定义在函数外部的变量(禁止使用)静态全局变量普通局部变量:定义在函数内部的变量(包括形参)静态局部变量生命周期程序运行开始,程序退出结束,生命周期长程序运行开始就创建,程序退出就销毁进入函数创建,退出函数销毁第一次进入改函数时创建,程序退出才销毁作用域本文件开始到文件结束,放在开头使用文件开头到结尾本函数有效本函
2017-12-12 23:27:01
478
原创 动态内存管理
1、动态内存在申请后,有一个开头标志,其中存放长度信息,有一个结尾标志,有利于碎片内存拼接,苹果公司在内存管理部分做的比其他公司好,所以苹果看起来内存小,当到后期也不卡。2、内存中常见的3中错误:(1)越界,将尾部信息篡改int *p=(int*)malloc(10)//申请10个字节for(int i=0;i{p[i]=0;//崩溃,越界}(2)移动指针,指针不在
2017-12-12 22:43:56
179
原创 动态内存函数:malloc(n字节),calloc(),realloc()
1、申请内存函数:malloc(n字节)一般用法:malloc(n*sizeof(int))#include//申请内存与释放内存#include//检测内存泄漏#include《assert.h>//断言int main(){ int *p=(int*)malloc(10*sizeof(int));//申请10个格子的内存,共40字节 assert(p!=NULL); p[1
2017-12-12 00:22:49
401
原创 内存泄漏
1、内存泄漏原因:主要是因为申请内存,然后使用,但最后没有归还内存(只借不还),即没有释放内存。2、泄漏的后果:电脑的内存是有限的(一般电脑为4G内存),只借不还总有用完的一天。这样,开始运行时没有影响,但一段时间后机器越来越卡,因为没有内存来运行程序了。3、调试时很难发现内存泄漏问题,因为每次调试相当于重启,而内存泄漏需要很久以后才能发现问题。4、解决方法:加函数free
2017-12-11 23:38:39
218
原创 动态内存
1、冒泡法求素数,动态内存引入#include//使用malloc函数时,需要调用的头文件void SiftPrime(int n)//冒泡法求素数{ int*arr=(int*)malloc(n*sizeof(int));//申请n个整型格子,返回首地址(指针)//分配连续的内存(即连续的n个格子),总大小为n*sizeof(int)字节;返回通用指针无类型信息,所以前面加强转。相当于i
2017-12-11 23:23:58
136
原创 函数递归
2017-12-04 23:00:19推荐的书:《代码大全》、《人月神话》、《算法导论》(数学公式较多)、《编译原理》《c语言程序设计》2、递归函数函数的优点与注意:1、可以使结构清晰,方便维护,2、提高代码使用率,任何人都能调用函数。3注意:代码长度一般不超过100行,超过后不易程序维护递归函数:就是自己调用自己的函数;注意:问题一定要不断缩小;有边界值;有返回段(有返回的过程)
2017-12-04 23:57:16
209
原创 常变量
1、左值与右值a=10;//a为左值,只有写权限,在赋值号左边。其他为右值b=a;//a为右值,读权限2、const的作用(1)定义常变量,只读变量,不能写;如:const int a=100.定义常变量时必须初始化。(2)类型对于const透明。即const int a=100等价于 int const a=100(3)const直接修饰部分,不能做左值,不能修改。co
2017-12-04 22:58:18
4065
原创 字符型数组
1、聚合类型,只有部分初始化时,其余部分为0('\0')char arr[5] = {'a', 'b'};//等价于char arr[5] = {'a', 'b' ,‘0’,‘0’,‘0’}; 2、未初始化时,初始值为随机值。3、利用字符串初始化时,可省略大括号。char brr[5] = {"abc"};//等价于char brr[5] = "abc"4、字符串一
2017-11-30 23:30:11
3808
原创 大端与小端
数据存放模式:大端与小端大端:低地址放大数据 。pc :inter用大端小端:低地址放小数据。手机,ARM,网络一般用小端如:十进制10的存放方式。十进制10对应的十六进制为:ox 0000 000a //一位数字表示4个字节,共4*8=32字节。这是4G处理器所能处理的最大位数。小端0a000000大端000
2017-11-25 18:33:21
253
原创 指针运算、空指针、函数指针、staic与const的区别
1、父函数(main函数,主函数)调用子函数,子函数能修改父函数中的内容的前提是:(1)传指针;(2)解引用题目:交换两个数据的值:void Swap1(int a,int b) //error 只交换了子函数中两个参数的值,当这样函数在主函数中调用时,并没有实现其交换功能(无传指针,也无解引用){int tmp;tmp=a;a=b;b=tmp;}void Sw
2017-11-25 16:24:39
338
原创 指针笔记
1、指针是存放地址的变量。2、&a; //取a的地址; a&b ; //按位与3、int *p=&a ; //定义整型指针变量p,可以存放整型a的地址值; *p=10; //a=10. 解引用。 int **pp=&p; //二级指针,指针的指针,放一级指针p的地址; **pp=100;//a=1004、*(间接访问符)的三个用法:
2017-11-24 23:22:08
173
原创 第一次考试
1、阿里的考题:假设在n进制下,下面的等式成立:567*456=150216,n的值是()A. 9 B 10 C 12D 18解:展开:(5*n^2+6*n+7)*(4*n^2+5*n+6)=n^5+5*n^4+2*n^2+n+6 20*n^4+(25+24)*n^3+(30+30+28)*n^2+(36+35)n+42=n^5+5*n^4
2017-11-20 22:42:17
265
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人