- 博客(55)
- 资源 (1)
- 收藏
- 关注
原创 机器学习---熵,信息增益,信息增益率
熵熵在信息论中被用来度量信息量,熵越大,所含的有用信息越多,其不确定性也就越大;熵越小,有用信息越少,确定性也就越大。决策树中,用熵来表示样本集的不纯度,样本集中样本种类越小,确定性越高,熵值越小;样本种类越多,越不确定,熵值越大。熵例子设S是数量为n的样本集,其分类属性有n个不同的取值,用来定义m个不同的分类Ci(i=1,2,⋯,m),则其熵的公式是:如果有一个大小为10的布尔值样本集Sb,其中有6个真值,4个假值,那么该布尔型样本分类的熵是:信息增益计算得到熵作为衡量样本集合不纯度的指
2021-12-13 10:49:11
2541
原创 linux命令
ps 查看进程ps -f 查看全格式进程ps -e 显示所有进程ps -ef 全格式显示所有进程killkill+pid 结束id对应的进程(可以是后台运行的进程)kill -9 +pid 强制结束id对应进程pkill name 结束一类进程ctrlctrl+d 结束输入(对cat命令)ctrl+c 终止在前台运行的进程ctrl+z 暂停在前台运行的进程,放到后台jobs 显示后台运行的进程状态jobs -l: 除了列出作业号之外同时列出PIDjobs -r: 列
2021-04-13 11:28:47
164
原创 bash程序的仿写
要求:1.输出一些提示符信息:[stu@localhost Desktop]$2.等待用户输入命令3.完成简单的解析:(1)没有输入命令 (2)内置命令(cd + exit) (3)外置命令(单独实现 ls、ps)创建命令:子进程通过exec替换成用户输入的命令对应的程序;父进程等待命令执行结束—>前台执行;父进程继续输出提示信息,接收用户输入的新命令—>后台执行...
2020-07-14 19:34:13
186
原创 修改信号(SIGINT)的响应方式,第一次接受信号打印“hello world”,第二次接受到信号则结束当前进程
//修改信号(SIGINT)的响应方式,第一次接受信号打印“hello world”,第二次接受到信号则结束当前进程#include<stdio.h>#include<stdlib.h>#include<unistd.h>#include<assert.h>#include<string.h>#include<signal.h>void sig_fun1(int sign)//第一次收到信号之后第二次收到信号之前执行代
2020-07-08 16:16:03
313
原创 队列的基本操作
队列: 先进先出结构限定性数据结构的双端队列:输出受限的双端队列: 一个端点允许插入和删除,另一个端点只允许插入的双端队列输入受限的双端队列: 一个端点允许插入和删除,另一个端点只允许删除的双端队列head=rear 队空(read+1)%size=head 队满队列实现头文件:typedef int ElemType;#define MAXQSIZE 10typedef struct Queue{ ElemType *base; int head; int
2020-06-05 18:58:10
201
原创 排序算法---直接插入排序
直接插入算法基本思想: 是将一个记录插入到已经排好序的有序表中,从而构成一个新的、记录数增1的有序表。(本文由小到大进行排序)评价算法的三个指标: 时间复杂度、空间复杂度、稳定性稳定性判断: 在待排序列中存在两个或两个以上的关键字,它们在使用排序算法前后的顺序保持不变,则算法稳定,否则,算法不稳定。例如:在排序前a[2]=7,a[3]=7,排序后:a[2]的7还是在a[3]的7前面,虽然排序后两个7的位置可能发生变化,但是顺序不发生变化。算法实现实现1(不是最优):使用双层循环结构,第一层循环主
2020-06-05 18:39:09
165
原创 浮点运算的不精确性能够产生灾难性的后果。1991年2月25日,在第 一次海湾战争期间,沙特阿拉伯的达摩地区设置的美国爱国者导弹,拦截伊拉克的飞 毛腿导弹失败。
浮点运算的不精确性能够产生灾难性的后果。1991年2月25日,在第 一次海湾战争期间,沙特阿拉伯的达摩地区设置的美国爱国者导弹,拦截伊拉克的飞 毛腿导弹失败。飞毛腿导弹击中了美国的一个兵营,造成28名士兵死亡。美国总审 .计局(GAO)对失败原因做了详细的分析[76],并且确定底层的原因在于一个数字计 _算不精确。在这个练习中,你将重现总审计局分析的一部分。 爱国者导弹系统中含有一个内置的时钟,其实现类似一个计数器,每0.1秒就加1。为了以秒为单位来确定时间,程序将用一个24位的近似于1/10的二..
2020-05-23 22:07:43
3268
转载 假设我们在对有符号值使用补码运算的32位机器人运行代码。对于有符号值使用的是算术右移,而对于无符号值使用的是逻辑右移
假设我们在对有符号值使用补码运算的32位机器人运行代码。对于有符号值使用的是算术右移,而对于无符号值使用的是逻辑右移。变量的声明和初始化如下:int x = foo(); //任意值int y = bar(); //任意值unsigned ux = x;unsigned uy = y;对于下面每个C表达式,1)证明对于所有的x和y值,它都为真(等于1);或者2)给出使得它为假(等于0)的x和y的值:(x > 0) || (x-1 < 0)假。设x等于Tmin32(32位有符号补码的最小值:
2020-05-23 20:35:57
1173
转载 考虑下列基于IEEE浮点格式的7位浮点表示。两个格式都没有符号位——它们只能表示非负的数字
《深入理解计算机系统(原书第2版)》第2章信息的表示和处理练习题2.52 考虑下列基于IEEE浮点格式的7位浮点表示。两个格式都没有符号位——它们只能表示非负的数字。1.格式A有k=3个阶码位。阶码的偏置值是3。有n=4个小数位。2.格式B有k=4个阶码位。阶码的偏置值是7。有n=3个小数位。下面给出了一些格式A表示的位模式,你的任务是将它们转换成格式B中最接近的值。如果需要,请使用舍入到偶数的舍入原则。另外,给出由格式A和格式B表示的位模式对应的数字的值。给出整数(例如17)或者小数(例
2020-05-23 20:28:18
1442
原创 不带头结点的单循环链表
创建头文件nlist.h#pragma once//不带头节点的链表,主要应用在循环链表中,其缺点,操作复杂(会出现二级指针),//优点:灵活(头指针指向哪个节点哪个节点就是第一个节点)//不带头节点的单链循环链表,尾节点的next指向第一个节点typedef struct NNode{ int data;//数据 struct NNode *next;//下一个节点的地址}NNode,*PNList;//初始化函数,将头指针置NULL,会出现二级指针void InitList(P
2020-05-19 22:29:21
2312
原创 进程管理命令&用户管理命令
Linux系统上的进程管理命令:查看进程: ps 显示当前终端上的进程 ps -e:显示当前系统上执行的所有进程 ps -f:显示当前进程以及用户,显示进程更详细的进程信息 PPID:父进程号ps -a:ps -eL:-L:显示LWP 线程号man ps: pstree:树状图的形式显示进程的创建关系top:和windows上的任务管理器相似 ,动态显示进程信息+系统资源(进程、CPU、内存、交换分区)的使用情况统计信息按f,进入: 
2020-05-18 22:34:04
213
原创 GCC的安装与是否成功安装检测
1.切换镜像,在虚拟机关闭的状态下点击设置中的CD/DVD(SATA),将镜像切换为后缀为dvd.iso镜像,此处使用的是rhel-server-6.3-i386-dvd.iso2.打开终端,切换到root用户,密码是自己设置的root用户密码3.切换到/mnt目录下4.在mnt目录下创建目录文件dvd:mkdir dvd5.执行命令:mount /dev/cdrom /mnt/dvd6.执行命令:cd /ect/yum.repos.d7.执行命令:vim yum.repo输入以下
2020-05-18 18:02:13
5097
原创 链栈的入栈、出栈、获取长度、获取栈顶值等相关操作
创建lstack.h#pragma once//链式栈:利用带头节点的单链表实现//栈顶为第一个数据结点,因为:头插O(1),头删:O(1),有尾指针的的尾插:O(1),有尾指针的尾删O(n)typedef struct SNode{ int data; struct SNode *next;}SNode,*PLStack;//注意:链式栈不需要top,因为头结点的next即为top//初始化栈void InitStack(PLStack ps);//入栈bool Push(P
2020-05-18 16:05:35
3064
原创 栈的入栈,出栈,扩容,获取长度等操作
创建stack.h#pragma once//栈:一种访问受限的线性表,只能在一端进行数据操作,能操作//顺序栈,栈顶设计在顺序表的表尾处,因为顺序表尾插和尾删都是O(1)#define INIT_SIZE 10typedef struct SeqStack{ int *elem;//保存动态内存的地址,用于存放栈数据 int top;//栈顶指针,当前可以存放数据的下标,类似顺序表的有效数据个数 int stacksize;//栈容量}SeqStack,*PSeqStack;/
2020-05-18 16:01:31
1757
原创 静态链表的增,删,清空,销毁等操作
创建slinklist.h文件#pragma once//静态链表:利用顺序表模拟链表操作,包含两条带头循环链表//一条为有效数据链表,头结点为0下标;一条为空闲链表,头结点为1下标#define MAXSIZE 10typedef struct SNode{ int data;//数据 int next;//后继指针,其实为后继节点的下标}SNode,SLinkList[MAXSIZE],*PSLinkList;//typedef SNode SLinkList[MAXSIZE];
2020-05-18 15:54:01
416
原创 linux文件管理命令
1.vim编辑文件a:从当前光标的后面插入i:从当前光标位置开始插入o:从当前光标的下一行开始插入O:从当前光标的上一行开始插入:q 退出vim:q! 强制退出vim:w 保存文本内容:wq 保存并退出:w newfile 另存为2.查看文件内容more 分页显示文件内容less 可以向前或向后查看文件内容head 查看文件开头的内容tail 显示文件尾部的内容cat 显示文件内容3.文件的压缩和解压压缩:先打包:tar cf xxx.tar 需要打包的所有文件名
2020-05-12 18:07:11
126
原创 vim的配置
1.vim的配置/ect/vimrc 整个系统的vim的配置 -----只能root用户修改~/.vimrc ~就是用户的家目录,针对于本用户的配置set nu 显示行号set autoindent 智能对齐set smartindent 按照上一行格式进行对齐set tabstop=4 设置tab键为4个空格set shiftwidth=4 自动缩进式缩进4个空格set mouse=a 设置鼠标有效set cindent 编程用的c自动缩进syntax on 高亮显示2.c
2020-05-12 17:19:42
174
原创 linux目录存储
linux目录结构图linux上一切皆是文件 linux:是一个多用户操作系统:可以多个用户同时登录工作/bin: 二进制文件–>系统命令对应的程序文件。bin是Binary的缩写, 这个目录存放着最经常使用的命令。/etc: 系统的配置文件。这个目录用来存放所有的系统管理所需要的配置文件和子目录。/dev: 系统的设备目录。dev是Device(设备)的缩写, 该目录下存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的。/mnt
2020-05-12 16:49:23
177
原创 linux文件操作命令和权限相关命令
1.基础命令:pwd cd lspwd:显示当前所在位置的绝对路径cd :路径 切换当前工作位置cd … :退回到上一层ls:默认显示当前目录下的内容ls -a:显示所有的文件(包含隐藏文件–》文件名 以‘.’开始的)clear:清屏reset:真正的清屏帮助书册: man2.cd命令的扩充:cd ~:直接进入到当前用户的家目录cd -:切换到上一次所在位置 在两个位置之间来回切换3.Linux文件类型与文件权限—linux上一切皆文件普通文件:–》.c .cpp .h
2020-05-12 15:10:46
212
原创 linux中文输入配置步骤
1.打开虚拟机,点击system,选择“Preferences”->“Input Method”2.勾选"Enable input method feature"->点击“Input Method Preferences ”3.点击“Input Method”->选择"Chinese"->选择"拼音"4.点击"Add",然后关闭即可...
2020-05-12 12:27:58
259
原创 vim中的快捷方式
在命令行模式下:(1)光标快速移动的快捷方式shift+6 将光标移动到当前行的首列(有效位置)shift+4 将光标移动到当前行的尾列shift+g 将光标移动到文件的最后一行gg 将光标移动到文件的第一行num shift+g 将光标移动到指定的第num行(计算空行)Ctrl+f 向下翻页Ctrl+b 向上翻页在当前显示的本页中快速移动光标shift+h 将光标移动到当前页的第一行shift+m 将光标移动到当前页的中间行shift+l 将光标移动到当前页的最后
2020-05-12 11:47:17
171
原创 带头节点的不循环单链表相关操作
创建list.h头文件#pragma once//头结点:开头标识,类似旗帜,不存放数据,不参与运算//数据结点:存放数据typedef struct Node{ int data; struct Node *next;}Node,*pList;//初始化void InitSeqList(pList plist);//头插bool Insert_head(pList plist,int val);//尾插bool Insert_tail(pList plist,int va
2020-05-10 13:36:06
193
原创 不定长顺序表插入、删除等相关操作
创建头文件Seqlist.h#pragma once//防止头文件被重复引用#define INIT_SIZE 10typedef struct DSeqList{ int *elem;//指向动态创建的内存,用于存储数据 int length;//有效数据个数 int listsize;//总容量(总格子数)}DSeqList,*PDSeqList;//初始化void InitSeqList(PDSeqList plist);//获取数据长度int GetLength(PD
2020-05-10 13:20:58
144
原创 定长顺序表的相关操作
创建头文件list.h#pragma once //防止头文件被重复使用//头文件:存放数据的定义和函数声明#define SIZE 10typedef struct SeqList{ int elem[SIZE]; int length;//有效数据的个数}SquList,*PSeqList;//typedef SeqList * PSeqList;//初始化//void InitSeqList(SeqList *plist);void InitSeqList(PSeqLis
2020-05-10 13:02:20
82
原创 带头节点的单循环链表的插入、删除、查找等操作
建立头结点#pragma oncetypedef struct CNode{ int data; struct CNode *next;}CNode,*Clist;//CNode*==Clist//初始化函数void InitList(Clist plist);//头插bool Insert_head(Clist plist,int val);//尾插bool Insert_tail(Clist plist,int val);//在plist中查找关键字key,找到返回结点
2020-05-10 10:30:47
1336
原创 双向不循环链表插入、删除、查询等操作
首先创建头文件#pragma oncetypedef struct DNode{ int data; struct DNode *next;//后继指针 struct DNode *ptior;//前驱指针}DNode,*DList;
2020-05-10 10:13:29
159
原创 python与微博API接口和sinaweibopy安装
python2有专门的微博提供的SDK环境和sinaweibopy1.1.3版本,如果python版本是python2,则直接使用:pip install sinaweibopy这一行代码下载安装即可。提供的SDK包(python2):https://github.com/xiaosier/libweibo微博API平台:http://open.weibo.com/wiki/微博APIp...
2020-03-30 20:38:32
2660
原创 结构体定义、结构体指针相关用法
结构体 :是一种自定义数据结构。结构体的形式:struct 结构名{结构体;};结构体的结尾必须加上分号结构体的定义以及初始化struct Student//定义Student数据类型{ char name[20]; int age;};//定义完成,其地位和内置类型一样int main{ //结构体的定义以及初始化 struct Student stu1={"zh...
2020-03-28 00:14:47
463
原创 C语言-指针之交换
1.使用第三方变量进行交换,代码如下:#include<stdio.h>int main(){ int a=10; int b=20; int tmp=a;//定义第三方变量存储a的值 -> tmp=10 a=b;//将b的值给a -> a=20 b=tmp;//将tmp的值给b -> b=10 printf("a=%d,b=%d\n",a,b);...
2020-03-22 23:35:52
7107
2
原创 bic和bis实现或、与、取反、异或
练习题2.13: 从20世纪70年代末到80年代末,Digital Equipment的VAX计算机是一种非常流行的机型。它没有布尔运算AND和OR指令,只有bis(位设置)和bic(位清除)这两种指令。只有bis(位设置)和bic(位清除)这两种指令。两种指令的输入都是一个数据字x和一个掩码字m。它们生成一个结果z,z是由根据掩码m的位来修改x的位来得到的。使用bis指令,这种修改就是在m为1...
2020-03-22 22:36:19
1122
原创 字符串的相关操作与问题
字符串的相关操作在这里插入代码片字符串导致程序崩溃的原因1.数组越界:str只分配了四个字节的空间,将str1与str2相加,需要八个字节的空间,打印时出现数组越界,导致程序崩溃char str1[]="abcd";char str2[]="1234";strcat(str1,str2);printf("%s\n",str1);2.字符串常量不能修改char *str1="abc...
2020-03-18 23:39:01
73
原创 局部变量和全局变量
**局部变量:**分为普通局部变量和静态局部变量**全局变量:**分为普通全局变量和静态全局变量总观:详述:静态变量的生命周期在这里插入代码片默认值的测试静态变量和全局变量的默认值是0,普通局部变量是随机值static int a;//0int b;//0int main(){ static int c;//0 int d;//error,为赋初值 printf("%...
2020-03-18 10:42:11
147
原创 穷举法的典型应用
1.甲乙两队进行比赛,甲队A、B、C三人,乙队X、Y、Z三人,比赛名单已经确定。A不和X比,C不和X、Z比,编程确定名单。#include<stdio.h>int main(){ char i,j,k;//i为A的对手,j为B的对手,k为C的对手 for(i='X';i<='Z';i++)//A的对手为X、Y、Z中的一个 { for(j='X';j<='Z'...
2020-03-13 11:32:37
1194
原创 求一个数字的位数,输出正序反序
给出一个正整数,要求1.求该数的位数;2.正序输出每一位数字;3.倒序输出每一位数字。#include<stdio.h>#include<math.h>//对正整数进行计数操作,统计时采用统计一位,丢弃最低位的计数方式int Count(int n){ int count=0; while(n) { n=n/10; count++; } retu...
2020-03-08 23:51:50
414
原创 学习笔记:fibonacci
斐波那契数列(Fibonacci sequence) 斐波那契数列(Fibonacci sequence),又称黄金分割数列、因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:1、1、2、3、5、8、13、21、34、……在数学上,斐波那契数列以如下被以递...
2020-02-27 16:05:28
110
原创 学习笔记:memset()函数
memset()函数:为新申请的内存进行初始化工作,对内存空间进行直接处理。作用是在一段内存块中填充某个给定的值,由于只能填充一个值,所以该函数的初始化为原始初始化且无法将函数初始化为需要的程序需要的值,需要在后面程序在内存中放入需要的数据。函数的形式为:#include<string.h>void *memset(void *str,int c,unsigned long n)...
2020-02-24 23:14:42
163
原创 学习笔记:指针问题篇
1.“*” 的含义有哪些?#include<stdio.h>int a=10;int *p;//声明p是一个指针p=&a;*p=100;//获取指针指向的数据,是一种间接指向指针是指内存地址,指针变量所指的实体是解引用。指针在32位系统中是4个字节,在64位平台是8个字节。2.定义指针类型对指针的作用是什么?1)解析存储单元的大小 2)指针变量加1的能力:in...
2020-02-23 17:22:53
436
原创 学习笔记:26个字母顺序左移
输出效果:a b c d e f g h i g k l m n o p q r s t u v w x y z b c d e f g h i g k l m n o p q r s t u v w x y z ac d e f g h i g k l m n o p q r s t u v w x y z a b...z a b c d e f g h i g k l m n o p...
2020-02-19 21:44:10
826
原创 学习笔记:数组问题篇
1.为什么数组下标从0开始,而非从1开始?数组第一个元素的地址偏移量是0,所以数组下标就是从0开始了。另外,数组在内存中所申请的内存是一段连续的内存地址,如果从0开始,则a[i]的地址= 首地址 + i*每个数据所占的长度,能直观地得到数组名,数组长度和通过数组首地址计算后续地址。2. char stra[]={“tulun”};与char strb[]={‘t’,‘u’,‘l’,‘u’,‘n...
2020-02-19 21:27:39
168
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人