- 博客(41)
- 收藏
- 关注
原创 数据库知识
1、数据库的创建创建格式:create table table_name(字段);其中,字段包含三部分内容:名称、域、逗号;域即数据类型,数据库包含5中数据类型:integer、real、text、blob、null2、改变表altertable命令可以改变表的结构,SQlite版的alter table命令既可以改变表名也可以增加字段1、查询select是SQL的查询
2017-08-09 14:24:39
216
原创 栈和队列 —— 1
栈的定义:栈(Stack)是一个先进后出(First in last out, FILO)的线性表,它要求只在表尾进行删除和插入操作栈的特点:1、栈遵循现金后出的原则2、栈的删除、插入等操作在表尾进行3、栈的表尾叫做栈顶(top),表头叫栈底(bottom)栈的插入和删除操作:栈的插入操作(Push),叫做进栈,也称压栈,入栈;栈的删除操作(Pop),叫做出
2017-08-08 08:47:03
236
原创 赫夫曼树
赫夫曼编码主要用于数据压缩(无损压缩)什么是赫夫曼树?树结点间的连线相关的数叫做权结点的路径长度:从根结点到该结点的路径上的连接数树的路径长度:树中每个叶子结点的路径长度之和结点带权路径长度:结点的路径长度与结点的权值的乘积树的带权路径长度:WPL(Weight Path Length)是树中所有叶子结点的带权路径长度之和WPL的值越小,说明构造出来的二叉树的性能越优
2017-08-07 15:39:51
442
原创 Linux常用小知识
Linux中Sqlite3安装步骤:1、解压:tar -zxvf (解压文件文件名),然后回车;2、ls查看解压出来的文件,进入解压出来的文件(cd文件名),然后回车;3、./configure命令,然后回车;4、make命令,然后回车;5、make install命令,然后回车;宿主机与虚拟机文件共享步骤:1、打开虚拟机;2、鼠标右键虚拟机,选择设置选项;
2017-08-06 19:58:05
208
原创 树、森林和二叉树的相互转换
普通树转换为二叉树步骤如下:• 加线,在所有兄弟结点之间加一条连线• 去线,对树中每个结点,只保留它与第一孩子结点的连线,删除它与其它孩子结点之间的连线• 层次调整,以树的根节点为轴心,将整棵树顺时针旋转一定角度,使之结构层次分明森林转化为二叉树的步骤如下:• 将森林中的每棵树转换为二叉树• 将各二叉树的根结点视为兄弟从左至右连在一起
2017-08-03 08:57:22
322
原创 线索二叉树
线索二叉树用中序遍历法,利用空结点存放前驱与后继线索二叉树需对普通(根左右)进行扩容lchildltagdatartagrchild• ltag为0时指向该结点的左孩子,为1时指向该结点的前驱• rtag为0时指向该结点的右孩子,为1时指向该结点的后继线索二叉树代码实
2017-08-02 12:07:05
253
原创 二叉树
二叉树是(Binary Tree)n(n >= 0)个结点的有限集合,该集合或者为空集(空二叉树),或者由一个根结点和两棵互不相交的、分别称为根结点的左子树和右子树的二叉树组成二叉树的特点:1、每个结点最多有两颗子树,所以二叉树中不存在度大于2的结点。(注意:不是都需要两棵子树,而是最多可以有两棵,没有子树或者仅有一棵子树也是可以的)2、左子树和右子树是有顺序的,次序不可以颠倒3、
2017-08-01 10:17:05
234
原创 树及其存储结构
一对一的数据结构:线性表一对多的数据结构:树树的定义:树是n(n>=0)个结点的有限集;当n = 0时称为空树,在任意一颗非空树中:1、n > 0时,有且仅有一个特定的称为根的结点2、当n > 1时,其余结点可分为m(m> 0)个互不相交的有限集T1、T2、……Tm,其中每一个集合本身又是一棵树,并且称为根的子树结点的分类:结点拥有的子树称为结点的度,树的度取决于树
2017-07-28 09:41:54
180
原创 线性表 —— 4
约瑟夫问题:问题:用循环链表模拟约瑟夫问题,把41个人自杀的顺序标号输出。实现代码://n个人围圈报数,报m出列,最后剩下的是几号? #include#includetypedefstruct node{int data;struct node *next;}node;node*creat(int n){node *p = NULL, *he
2017-07-27 11:46:20
187
原创 线性表 —— 2
• 头指针是指链表指向第一个结点的指针,若链表有头结点,则是指向头结点的指针• 无论链表是否为空,头指针不能为空• 头指针是链表的必要元素• 头结点不一定是链表的必要元素• 头结点的数据域一般是空的(可以存放当前链表的长度)• 空链表是头指针、头结点、NULLC语言中可以用结构指针描述单链表typedefstruct No
2017-07-25 18:09:17
165
原创 线性表 —— 1
线性表的定义:线性表(List):由零个或多个数据元素组成的有限序列线性表的特征:线性表是一个序列、第一个元素无前驱、最后一个元素无后继、其它元素有且只有一个前驱和后继线性表元素的个数n(n>= 0)定义为线性表的长度,当n= 0时,称为空表。抽象数据类型:抽象数据类型(Abstract Data Type, ADT)是指一个数学模型及定义在该模型上的一组操作。抽象
2017-07-24 18:51:57
226
原创 数据结构和算法 —— 算法
什么是算法?算法是解决特定问题求解步骤的描述,在计算机中表示为指令的有限序列,并且每个指令表示一个或多个操作。算法的5个基本特征:输入、输出、有穷性、确定性和可行性• 输入:算法具有零个或多个输入• 输出:算法至少有一个或多个输出• 有穷性:算法在执行有限的步骤之后,自动结束而不会出现无限循环,并且
2017-07-23 08:45:22
251
原创 数据结构和算法 —— 绪论
什么是数据结构?数据结构是一门研究非数值计算的程序设计问题中操作对象,以及它们之间的关系和操作等相关问题的学科。程序设计= 数据结构 + 算法习惯上,把数据结构分为逻辑结构和物理结构:逻辑结构:指数据对象中数据元素之间的相互关系物理结构:指数据的逻辑结构在计算机中的存储形式逻辑结构的4中体现:1、集合结构:集合结构中的数据元素除了同属一个集合外,没有其它
2017-07-21 13:15:04
190
原创 线性表的顺序存储结构
线性表顺序存储的结构代码:#defineMAXSIZE 20 /* 存储空间初始分配量 */typedefint ElemType; /* ElemType类型根据实际情况确定,这里假设为 */typedefstruct{ElemType datd[MAXSIZE]; /* 数组存储数据元素,最大值为MAX
2017-07-20 11:35:04
283
原创 shell编程
shell本身是一个C语言编写的程序,shell既是一种命令语言又是一种程序涉及语言当一个用户登录Linux系统之后,系统初始化程序init就为每一个用户运行一个称为shell(外壳)的程序,确切地说,shell就是一个命令解释器,它为用户提供一个向Linux内核发送请求以便运行程序的界面系统级程序,用户可以用shell来启动、挂起、停止,甚至编写一些程序常见的shell主
2017-07-08 13:02:43
227
原创 Linux开发环境概述
Linux下C语言程序设计与其它环境中C程序设计一样,主要涉及编辑器、编译链接器、调试器及羡慕管理器;(1)、Linux中最常用的编辑器是vi(vim)和emacs(2)、Linux中最常用的编译器是gcc;它是GNU推出的功能强大、性能优越的多平台编译器(3)、Linux中最常用的调试器是gdb;它可设置断点、单步跟踪(4)、Linux中的项目管理器是make;vi(vim)
2017-07-06 18:53:43
867
转载 SHELL
Shell 教程Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。Ken Thompson 的 sh 是第一种 Unix Shell,Windows Explorer 是一个典型的图形界面 Shell。She
2017-04-27 18:38:27
290
转载 一个不错的shell 脚本教程 入门级
一个很不错的bash脚本编写教程,至少没接触过BASH的也能看懂建立一个脚本 Linux中有好多中不同的shell,但是通常我们使用bash (bourne again shell) 进行shell编程,因为bash是免费的并且很容易使用。所以在本文中笔者所提供的脚本都是使用bash(但是在大多数情况下,这些脚本同样可以在 bash的大姐,bourne shell中运行)。
2017-04-27 18:36:06
405
原创 SHELL脚本
Shell编程shell是一个命令行解释器,为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序,用户可以用shell来启动、挂起、停止、,还可以用来编写一些程序;几种常见的shell:目前主要使用的shell有ash、bash、ksh、csh、zsh等,可以用 # echo $ SHELL 查看shell的类型;$ SHELL是一个环境变量,它记录用户所使
2017-04-27 18:32:13
204
转载 Make工程管理器
Make工程管理器是完全根据makefile文件的编译规则命令进行工作的。mkaefile 文件由以下三项基本内容组成:1)需要生成的目标文件(target file)。2)生成目标文件所需要的依赖文件(dependency file)。3)生成目标文件的编译规则命令行。格式如下:target file:dependency filecommand注意:在目标文件与依
2017-04-22 09:58:13
196
转载 工程管理器make
一.工程管理器make的简介1. 为什么需要工程管理?作用是什么? 需要工程管理的原因: 源文件越多,gcc命令行会越长;编译规则会加大gcc命令行的复杂度; 使用gcc命令行编译程序时,会把没有修改的源程序再编译一次,影响编译效率。 作用: 提高编译程序的效率2. 什么是自动编译?时间戳? 自动编译:在整个编译过程中无需人工干预
2017-04-22 09:55:34
243
原创 工程管理器
工程管理器GCC编译器编译程序的局限性:(1)、程序往往由多个源文件组成,源文件个数越多,GCC的命令行就越长;此外,各种编译规则也会加大GCC命令行的复杂度,所以在开发调试程序的过程中,通过输入GCC命令行来编译程序是很麻烦的;(2)、在程序的整个开发过程中,调试的工作量占到了整体工作量的70%以上,在调试程序的过程中,每次调试一般只会修改部分源文件,而在使用GCC命令行编译程序时,
2017-04-22 09:53:41
300
转载 用GDB调试程序
GDB概述————GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具。或许,各位比较喜欢那种图形界面方式的,像VC、BCB等IDE的调试,但如果你是在UNIX平台下做软件,你会发现GDB这个调试工具有比VC、BCB的图形化调试器更强大的功能。所谓“寸有所长,尺有所短”就是这个道理。一般来说,GDB主要帮忙你完成下面四个方面的功能: 1、启动你的程序,可以按照你的自
2017-04-15 08:57:34
143
转载 GDB基础用法
1. 简介GDB(GNU Debugger)是GCC的调试工具。其功能强大,现描述如下: GDB主要帮忙你完成下面四个方面的功能: 1.启动你的程序,可以按照你的自定义的要求随心所欲的运行程序。 2.可让被调试的程序在你所指定的调置的断点处停住。(断点可以是条件表达式) 3.当程序被停住时,可以检查此时你的程序中所发生的事。 4.动态的改变你程序的执行环境。2 生成调试
2017-04-15 08:53:06
182
原创 嵌入式调试器GDB
GDB的部分调试命令:(1)、查看源文件,在GDB中通过命令l(list的缩写)可以查看所有的代码行数;GDB以10行为单位进行显示;(2)、设置断点,断点是程序调试的重要方法,通过断点可以知道程序每一步执行的情况(如当前变量的值、函数是否调用、对战使用情况),在GDB中通过命令b(breakpoint)进行断点设置;(3)、查看断点情况,由于使用命令“b”可以设置多个断点,所以用户需
2017-04-15 08:50:13
309
转载 GCC的常识
1、 gcc的全称: GNU C Compiler ,是GNU的一款编译器 2、 gcc通过后缀名来区别输入文件的类型; 常用文件类型:. c C语言源代码文件 .C/.cc C++源代码文件 .h 头文件(head也即include) .i
2017-04-07 09:09:30
179
转载 Linux gcc编译器使用方法
这篇文章介绍在LINUX下进行C语言编程所需要的基础知识.在这篇文章当中,我们将会学到以下内容:源程序编译 Makefile的编写 程序库的链接 程序的调试 头文件和系统求助 1.源程序的编译 在Linux下面,如果要编译一个C语言源程序,我们要使用GNU的gcc编译器. 下面我们以一个实例来说明如何使用gcc编译器.假设
2017-04-07 09:07:21
1409
原创 GCC编译器
GCC常用命令选项及工作流程GCC命令的使用格式为:gcc [选项 ] [文件名 ] [选项 ] [文件名 ]gcc命令按类型可以分为以下几类:(1)、总体选项:用于控制编译的整个流程,常用选项如下:-c: 对源文件进行编译或汇编-E: 对原文件进行预处理-s: 对源文件进行编译-o file: 输出目标文件file
2017-04-07 08:56:54
328
原创 Linux系统--文本编辑器vim的使用技巧
1、导入命令执行结果:r !命令(1):r filename导入文件内容(2):!命令在不退出vim的情况下执行相应的操作命令(3):r !命令把命令的执行结果导入到当前vim所编辑的文件中2 、 定义快捷键:map 快捷键 触发命令3 连续行注释在第n1行到第n2行的行首增加一个注释符“#”其中:(1)n1,n2s表示从第n1行到
2017-03-25 08:31:34
266
转载 Linux常用文本编辑器
1.nano直接在命令行中敲入nano filename即可打开文件或新建文件。nano下可以使用的一些快捷键,其对应的含义翻译如下:ctrl+G: 取得在线帮助ctrl+O: 保存文件,如果你有权限就可保存修改的文件ctrl+R: 从其他文件读入数据,可将某个文件的内容贴在本文件中ctrl+Y: 显示前一页ctrl+K: 剪切当前行的内容
2017-03-25 08:24:15
800
原创 嵌入式文本编辑器
Linux最常用的文本编辑器是vim,vim可以执行输出、删除、查找、替换、块操作等文本操作,用户也可以根据自己的需求,对其进行定制;vim没有菜单,只有命令,而且vim命令种类丰富;vim有三种基本工作模式:命令模式、插入模式和底行模式;1、命令模式;控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入插入模式或底行模式;2、插入模式;只有在插入模式下才可以输入文字,
2017-03-25 08:10:13
729
转载 Linux 压缩文件的读取
· *.Z compress程序压缩的档案; · *.bz2 bzip2程序压缩的档案; · *.gz gzip程序压缩的档案; · *.tar tar程序打包的数据,并没有压缩过; · *.tar.gz tar程序打包的档案,其中并且经过 gzip 的压缩! · *.zip
2017-03-22 20:02:29
568
原创 Linux目录
目录也是一个文件,它的唯一功能是用来保存文件及其相关信息。所有的文件,包括普通文件、设备文件和目录文件,都会被保存到目录中。 主目录 登录后,你所在的位置就是你的主目录(或登录目录),接下来你主要是在这个目录下进行操作,如创建文件、删除文件等。 使用下面的命令可以随时进入主目录: bin:存放普通用户命令(最基本的命令都存放在这里);boot:存放除了引导区之外的,引导系统所
2017-03-22 19:57:38
197
原创 Linux命令小知识
Linux的思想,一切都归结为文件; ~:当前用户工作目录;Linux中的隐藏文件以 “.”开头; touch 文件名 : 创建文件;cat 文件名 : 查看文件内容; gedit 文件名:文本编辑;rm 文件名:删除文件; rm-f 文件名:强制删除
2017-03-21 23:25:41
207
转载 Linux常用命令示例:
在使用Linux操作系统的过程中,我们经常要用到一些特殊的命令,不仅显示了技术的高超,而且在效率方面当然要比图像化界面高很多,下面我总结了一些常见的Linux命令,供以后学习使用,使用命令时,在命令后面加参数“--help”或者用“man 命令”可以取得命令的详细用法。 (*)小常识:在Linux中使用命令操作文件时,可以仅输入文件名的前几个字符,然后按键盘的“Tab”键补全文件名
2017-03-12 20:04:19
358
原创 计算机基础知识
一、计算机是如何启动的1.计算机的启动:用户按下计算机的电源开关,开机电路启动电源供电系统,电源开始为整个主机供电,与此同时,CPU启动,并从BLOS芯片中读出启动程序,根据BLOS芯片中存储的启动程序将硬盘上存储的系统程序读出并调入内存中,于是操作系统开始进入启动过程,在这个过程中BLOS芯片内的启动程序包含对主板上各种集成电路芯片及所连设备的配置信息;每次开机启动时,CPU都会从BLO
2017-03-11 15:25:13
331
原创 Linux常用26个命令
1. cd: cd是打开某个路径的命令,也就是打开某个文件夹,并跳转到该处;$ cd path ### path 为你要打开的路径;1. ls : 即list,列出文件;$ ls ### 仅列出当前目录可见文件;$ ls -1 ### 列出当前目录可见文件详细信息;$ ls -h1 ### 列出详细信息并以可读大小
2017-03-11 15:16:10
318
转载 Linux发展
我们周围到处都有Linux的身影,在家中、公司里、大学、实验室,太空空间站。但是过去它不像现在一样是计算机发展的中坚力量,它只是开始于一个芬兰大学生的个人爱好。现在的Linux已经从一个个人爱好发展成了一场计算机革命。在这篇文章里,我们向你展示最完整的Linux 23年来发展的历史年表。1991 8月25号:21岁的芬兰学生Linus Benedict Torvalds 在comp
2017-02-28 21:49:11
200
转载 初学Linux
前几天安装好了Linux的基本环境,安装过也查了一些资料。环境:VMware workstation 10;CentOS 7.0。体验了一下虚拟机和安装系统,感觉好实际安装win10差不多,用户体验比较好。今天初次接触了一些命令,还有很多多不知道,希望自己坚持学习!这是招聘C++开发的要求:小米:熟悉Linux 开发环境,熟悉多线程编程,有在Linux上做C/C++ 开发的经验
2017-02-28 21:42:34
217
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人