- 博客(25)
- 资源 (9)
- 收藏
- 关注
原创 散列表(哈希表)
基本定义散列技术是在记录的存储位置和它的关键字之间建立一个确定的对应关系 f,使得每个关键字key对应一个存储位置f(key)。这种对应关系f称为散列或哈希函数。采用上述思想将数据存储在一块连续的存储空间中,这块连续的存储空间称为散列或哈希表。关键字对应的存储位置称为散列地址。散列技术最适合的求解问题是查找与给定值相等的记录。如果碰到两个不同的关键字key1≠key2key1≠key2,但却有相同的f(key1)=f(key2)f(key1)=f(key2),这种现象称为冲突,并把key1key1和k
2021-12-07 21:09:28 228
原创 数据结构--经典排序算法
1、冒泡排序思想:逐个比较每个元素 像泡泡一样,使大的下沉至底部。设置标志位。如果进行到中间一步的时候,元素已经有序则不需要再进行多于的排序,提高效率。
2021-12-03 23:20:18 291
转载 Linux 学习之路day02 -----用户及文件权限管理
Linux 是一个可以实现多用户登录的操作系统,比如“李雷”和“韩梅梅”都可以同时登录同一台主机,他们共享一些主机的资源,但他们也分别有自己的用户空间,用于存放各自的文件。但实际上他们的文件都是放在同一个物理磁盘上的甚至同一个逻辑分区或者目录里,但是由于 Linux 的用户管理和权限机制,不同用户不可以轻易地查看、修改彼此的文件。请打开终端,输入命令:who am i# 或者who mom likes输出的第一列表示打开当前伪终端的用户的用户名(要查看当前登...
2021-10-22 01:00:36 182
转载 Linux 学习之路 day 01
通常在图形界面中对实际体验带来差异的不是上述的不同发行版的各种终端模拟器,而是这个 Shell(壳)。有壳就有核,这里的核就是指 UNIX/Linux 内核,Shell 是指“提供给使用者使用界面”的软件(命令解析器),类似于 DOS 下的 command(命令行)和后来的 cmd.exe 。普通意义上的 Shell 就是可以接受用户输入命令的程序。它之所以被称作 Shell 是因为它隐藏了操作系统底层的细节。同样的 UNIX/Linux 下的图形用户界面 GNOME 和 KDE,有时也被叫做“虚拟 she
2021-10-22 00:30:47 125
原创 二叉排序树的构造和遍历
先提供一个二叉树的结构/* 二叉树的二叉链表结点结构定义 */typedef struct BiTNode{ int data; //结点数据 struct BiTNode* lchild,*rchild; //左右孩子指针 }BiTNode,*BiTree;二叉排序树的查找//二叉排序树的查找/* 递归查找二叉排序树T中是否存在key *//* 指针 f 指向 T 的双亲,其初始调用值为NULL*//* 若查找成功,则指针 p 指向该数据元素结点,并返回T..
2021-09-26 18:32:15 275
转载 C++ vector 容器
一、什么是vector?向量(Vector)是一个封装了动态大小数组的顺序容器(Sequence Container)。跟任意其它类型容器一样,它能够存放各种类型的对象。可以简单的认为,向量是一个能够存放任意类型的动态数组。二、容器特性1.顺序序列顺序容器中的元素按照严格的线性顺序排序。可以通过元素在序列中的位置访问对应的元素。2.动态数组支持对序列中的任意元素进行快速直接访问,甚至可以通过指针算述进行该操作。提供了在序列末尾相对快速地添加/删除元素的操作。3.能够感知内存分配器
2021-09-19 21:58:21 82
原创 C++ 类和对象:多态案例
多态案例 – 计算器类-------- 根据黑马程序员视频所做笔记案例描述:分别利用普通写法和多态技术,设计实现两个操作数进行运算的计算器类多态的优点:代码组织结构清晰可读性强利于前期和斗气的扩展以及维护示例:#include<iostream>#include<string>using namespace std;//分别利用普通写法和多态技术实现计算器//普通写法class Calculator{public: int getResult(
2021-06-27 00:14:15 145
原创 C++ 类和对象:继承与派生
继承与派生三种继承方式:实际这里一共有三种方式,分别是公有继承、私有继承、保护继承。不同的继承方式,主要区别在于基类中不同访问权限的成员在派生类中的访问权限变化情况。公有继承的模式下,标识符为public,特点如下:基类中的公有成员,在派生类中仍然为公有成员。当然无论派生里的成员函数还是派生类对象都可以访问。基类中的私有成员,无论在派生类的成员还是派生类对象都不可以访问。基类中的保护成员,在派生类中仍然是保护类型,可以通过派生类的成员函数访问,但派生类对象不可以访问!第二种,
2021-06-25 19:37:32 210
原创 C++类和对象:常函数和常对象
C++中常数据的使用及初始化关键字是const,所谓的“常”,或或者说被“常”修饰的变量,是不可修改、被改变的,比如用const修饰的一个变量就成了常变量,这个值不可被更改。也就是限制变量为可读状态。那么C++中,一样有常的概念,额外不同的是,const除了可以修饰一般的变量为常变量之外,还可用于修饰某个对象,变成常对象。以及可以修饰类的数据成员和成员函数,分别叫做类的常数据成员和常成员函数。1、 常数据成员对于常数据成员的用法,与我们在C语言的用法一样,只不过这部分数据出现在类里,使用的格式如下:
2021-06-25 18:41:22 395
原创 C++类和对象:运算符重载
运算符重载概念:对已有的运算符重新进行定义,赋予其另一种功能,以适应不同的数据类型1、加号运算符重载作用:实现两个自定义数据类型相加的运算#include<iostream>using namespace std;//加号运算符重载class Person{public://1、成员函数重载+号 Person operator+(Person &p) { Person temp; temp.m_A =
2021-06-24 23:08:05 134
原创 C++ : 友元
在程序里,有些私有属性也想让类外特殊的一些函数或者类进行访问,就需要用到友元的技术友元的目的就是让一个函数或者类 访问另一个类中的私有成员友元的关键字为:friend友元的三种实现:全局函数做友元 类做友元 成员函数做友元1、全局函数做友元#include<iostream>using namespace std;class Building{ //goodGay全局函数是Building好朋友 可以访问Building中的私有成员 fri
2021-06-24 16:36:43 180
原创 操作系统信号量问题-------南北桥问题java实现
南北桥问题java实现问题描述:一座小桥(最多只能承重两个人)横跨南北两岸, 任意时刻同一方向只允许一人过桥,南侧桥段和北侧桥段 较窄只能通过一人,桥中央一处宽敞,允许两个人通过或歇息。(本题PV原语在网络上都有,可自行查看学习)共需要三个信号量,num用来控制桥上人数,初值为2,表示桥上最多有2人; north用来控制北段桥的使用,初值为1,用于对北段桥互斥; south 用来控制南段桥的使用,初值为1,用于对南段桥互斥。java实现信号量问题。调用Semaphore库。实现代码代码如下:
2021-04-29 15:09:34 1306
原创 操作系统----处理机调度
操作系统----处理机调度调度的概念1 基本概念在多道程序系统中,进程的数量往往多于处理机的个数,因此进程争用处理机的情况在所难免。处理机调度是对处理机进行分配,即从就绪队列中按照一定的算法(公平、高效)选择一个进程并将处理机分配给它运行,以实现进程并发地执行。处理机管理的工作是对CPU资源进行合理的分配使用,以 提高处理机利用率,并使各用户公平地得到处理机资源 (对于通用系统);调度的目标与系统的用途紧密相连,调度策略决定着操作 系统的特性;2 分级调度第1级:作业调度,又称.
2021-04-14 18:09:32 909
原创 操作系统学习----第三章 进程管理
第三章 进程管理进程的概念进程状态转换进程在操作系统中的描述进程控制进程互斥进程同步进程通信死锁问题线程的概念线程分类与执行进程的概念程序 (Program):◼ 直观理解:程序员写的程序代码编译后所得到的可执行文件;◼ 严格定义:描述计算机所要完成的具有独立功能的,按照执行逻辑的先后顺序排列的计算机操作序列的集合,是一个静态的概念。程序的并发执行现代操作系统的基本特征包括:◼ 并发 (Concurrency)、共享 (Sharing)、◼ 虚拟 (Virtualization)、异步
2021-03-24 21:19:37 598
原创 数据结构学习-------树和二叉树
树和二叉树树型结构(非线性结构)特点:1、结点之间有分支2、具有层次结构定义树的定义树(Tree)是n (n≥0)个结点的有限集。若n = 0,称为空树;若n > 0,则它满足如下两个条件:(1)有且仅有一个特定的称为根(Root)的结点;(2)其余结点可分为 m (m≥0)个互不相交的有限集T1,T2,T3,…,Tm,其中每一个集合本身又是一棵树,并称为根的子树(SubTree)。树的基本术语根结点:非空树中无前驱结点的结点结点的度:结点拥有的子树数。树的度:树内各结点
2021-03-14 13:30:09 167
原创 操作系统笔记-----第一章 基本概述
第1章 操作系统概述操作系统的基本概念操作系统的主要功能操作系统的发展历史操作系统设计目标本章小结
2021-03-02 21:29:04 689
转载 字符串匹配的KMP算法
读完之后对我受益颇多,特地转载字符串匹配是计算机的基本任务之一。举例来说,有一个字符串"BBC ABCDAB ABCDABCDABDE",我想知道,里面是否包含另一个字符串"ABCDABD"?许多算法可以完成这个任务,Knuth-Morris-Pratt算法(简称KMP)是最常用的之一。它以三个发明者命名,起头的那个K就是著名科学家Donald Knuth。这种算法不太容易理解,网上有很多解释,但读起来都很费劲。直到读到Jake Boxer的文章,我才真正理解这种算法。下面,我用自己的语言,.
2020-12-22 21:05:02 98
原创 java实训题:随机点名器
随机点名器不久以前,有个小伙伴问我一个实训题,它是要写一个随机点名器,用来输入输出,方法的封装的思想完成的。题目要求:编写一个随机点名程序,使其能够在全班同学中随机点中某一名同学的名字,要求随机点名具备三个功能,包括存储全班同学姓名、总览全班同学姓名和随机点取其中一人姓名。话不多说上干货mport java.util.*;public class Random_call { public static String[] name_scan(int num){ int n = 0; i
2020-12-18 21:45:06 1893 1
原创 数据结构学习 ———— 串、数组和广义表
串、数组和广义表串的定义串(String)----零个或者多个任意字符组成的有限序列例如:S=“A1 A2 A3 …AN”(N>0)子串:串中任意个连续字符组成的子序列(含空串)称为该串的子串。例如: “abcde”的子串有:“”、“a”、“ab”、“abc”、“abcd”、"abcde"等真子串是指不包含自身的所有子串。主串:包含子串的串相应地称为主串字符位置:字符在序列中的序号为该字符在串中的位置子串位置:子串第一个字符在主串中的位置空格串:由一个或多个空格组成的串,与空串不
2020-12-06 17:46:43 615
转载 蚁群算法(Ant Colony Optimization)
蚁群算法(Ant Colony Optimization)蚁群算法简介蚁群算法(Ant Clony Optimization, ACO)是一种群智能算法,它是由一群无智能或有轻微智能的个体(Agent)通过相互协作而表现出智能行为,从而为求解复杂问题提供了一个新的可能性。蚁群算法最早是由意大利学者Colorni A., Dorigo M. 等于1991年提出。经过20多年的发展,蚁群算法在理论以及应用研究上已经得到巨大的进步。蚁群算法是一种仿生学算法,是由自然界中蚂蚁觅食的行为而启发的。在自然界中,蚂
2020-11-21 15:01:48 3391
原创 数据结构----栈和队列(概念及其基本操作表现方法)
数据结构学习-----栈和队列栈和队列数据结构学习-----栈和队列栈和队列的定义和特点栈的表示和实现队列的表示和实现栈和队列的定义和特点栈和队列是两种常用、重要的线性结构,从数据结构角度上来看也是线性表。栈和队列是限定插入和删除只能在表的“端点”进行操作的线性表。栈:是限定仅为表尾进行插入或者删除的线性表。因此,对栈来说,表尾端有其特殊含义,成为栈顶(top),相应的,表头端称为栈底(bottom)。不含元素的空表称为空栈。栈是一种后进先出的线性表;与栈相反,队列(queue)是一种先进先
2020-11-08 17:52:01 758 1
原创 C++关键字保留字详细介绍(下1)
C++关键字保留字详细介绍(下1)forfor是C++中的循环结构之ー。friendfriend(友元)声明友元关系。友元可以访问与其有 friend关系的类中的 private/ protected成员,通过友元直接访问类中的 private/ protected成员的主要目的是提高效率。友元包括友元函数和友元类。gotogoto(转到),用于无条件跳转到某一标号处开始执行27.iff(如果),C++中的条件语句之一,可以根据后面的bol类型的值选择进入一个分支执行。inl
2020-10-31 16:11:23 458 1
原创 c++保留字学习(中)
c++保留字详细(中)const cast/用法const_cast<type_id>(expresslon)该运算符用来修改类型的 const或 volatile属性。除了 const或 volatile 1修饰之外,type_id和 expression的类型是一样的。常量指针被转化成非常量指针,并且仍然指向原来的对象;常量引用被转换成非常量引用,并且仍然指向原来的对象;常量对象被转换成非常量对象。continuecontinue_(继续)关键字用于循环结构。它使程序跳过代
2020-10-31 16:00:05 147
原创 c++保留字
c++保留字详细介绍(上)asm(指令字符串):允许在C++程序中嵌入汇编代码。autoauto(自动, automatic)是存储类型标识符,表明变量"自动"具有本地范围,块范围的变量声明(如or循环体内的変量声明)默认为auto存储类型。boobool(布尔)类型,C++中的基本数据结构,其值可选为true(真)或者 false(假)。C++中的0ol类型可以和int混用,具体来说就是0代表 false,非0代表true。bool类型常用于条件判断和函数返回值。break break(中断、
2020-10-31 14:23:23 1138
数据结构 括号匹配问题 c源文件
2020-10-09
Airplane.aia
2020-04-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人