10 2019 档案
摘要:pytorch入门 什么是pytorch PyTorch 是一个基于 Python 的科学计算包,主要定位两类人群: NumPy 的替代品,可以利用 GPU 的性能进行计算。 深度学习研究平台拥有足够的灵活性和速度 张量 Tensors 类似于 NumPy 的 ndarrays ,同时 Tensor
阅读全文
摘要:哈希表的java实现 什么是哈希表? 1.哈希表是通过关键码key来直接进行访问的一种数据结构 2.也就是它通过关键码来值映射到表中的一个位置来访问记录,进而加快访问的速度 3.存放记录的数组叫做散列表(哈希表) 哈希表的根据解决冲突方式不同分为的两种样式 1.分离链接法 2.线性探测法 散列函数
阅读全文
摘要:斐波那契查找算法 什么是斐波那契查找算法? 1.黄金分割点是把一条线段分割成两个部分,使得一部分与全长之比等于另一部分与这一部分之比,取其前三位的近似值大概是0.618。 2.斐波那契数列{1,1,2,3,5,8,13,...}两个相邻数的比例无限接近0.618 斐波那契思想 1.斐波那契思想与二分
阅读全文
摘要:Anaconda中安装pytorch 创建一个虚拟环境 激活虚拟环境 输入安装的命令 进入官网 "pytorch官网" 复制命令
阅读全文
摘要:差错控制 差错的产生 信道所固有的、持续存在的随机热噪声 外界特定短暂原因产生的冲击噪声(主要) 编码技术实现差错控制主要分成两类 自动重传请求ARQ:接收端检测出差错的时候就设法通知发送端重发,直到接受到正确的码字为止 前项纠错FEC:接收端不仅仅可以发现错误,还可以知道哪里错了,进而进行纠错 检
阅读全文
摘要:组帧的作用 数据链路层将比特组合成帧作为传输单位,是为了在出错时只重发出错的帧,而不必重发所有数据,为了能使接收方能正确的接收并检查所接收的帧,发送方必须依据一定的规则把网络层递交的分组封装成帧(即组帧)。组帧主要解决帧定界,帧同步,透明传输等问题,通常使用 字符计数法 , 字符填充的首尾定界符法
阅读全文
摘要:数据链路层概述 数据链路层的位置 数据链路层的主要功能 主要功能是加强物理层传输原始比特流的功能,将物理层可能出错的物理连接改变成逻辑上无差错的数据链路,使其对于网络层来说表现为一条无差错的链路 1.为网络层提供服务的接口 为网络层提供如下的服务 无确认的无连接服务 有确认的无连接服务 有确认的面向
阅读全文
摘要:Anaconda配置环境变量+创建虚拟环境 配置环境变量 没有添加系统变量,所有系统根本识别不了conda命令,找不到位置,所以添加以下系统变量: 添加对应Anaconda环境变量:(以自己的安装路径为准) 计算机 右键 属性 将我上面的代码加进去,注意我的安装目录不一定和你一样,你要改成自己的安装
阅读全文
摘要:JDBC的一些简单通用代码 功能包括 连接数据库 查询操作 执行sql语句 jdbc相关类的加载 关闭连接 获取数据库格式的当前时间 代码
阅读全文
摘要:插值查找算法 算法思想 假如有一本英文的字典,你现在要查找apple这个单词,你肯定不会一页页去翻,也不会从中间去翻,你肯定会去前边翻,因为你知道字典是有序的,从A Z,已知A在前面,所以你一定会去前面翻 同样的,对于一个值均匀增长的一个数组来说,已知一个值的大小,我们就可以按照值的分布规律来猜测它
阅读全文
摘要:二分查找 思想 首先数组必须是有序的 对于一个有序的数组,那么其中值一定位于中间的位置,我们拿待查找的值与中间的值进行比较 如果待查找的值比中间值小,那么就去中间值的左边进行查找,否则就去中间值的右边查找 这样最左边的值到中间值的前一个值这一段或者是中间值的后一个值到最后一个值这一段,又可以看做是一
阅读全文
摘要:堆排序 什么是堆? 堆是具有以下性质的完全二叉树: 每个结点的值都大于或等于其左右孩子结点的值,称为大顶堆 或者每个结点的值都小于或等于其左右孩子结点的值,称为小顶堆。 如下图所示: 那么话又说回来了,什么是完全二叉树呢? 要想知道什么是完全二叉树,首先得知道什么满二叉树。 满二叉树 :高度为h,并
阅读全文
摘要:基数排序 思想 通过按照键值的各个位的值,把要排序的元素分配到某些桶中,最终实现排序的效果。 将所有待比较的数值统一为同样的数位长度,数位较短的数的前面补充零。 从低位开始依次进行排序,这样从最低位排序到最高位排序完成之后,整个序列就变成了一个有序的序列。 示意图 特点 稳定性排序 基数排序是桶排序
阅读全文
摘要:归并排序 思路 1.归并排序采用了分而治之的策略 2.首先向将整个序列两两划分,在递归地分别对这个序列的左边和右边两两划分,这样直到最小序列为单个元素 3.之后再序列与序列之间两两归并成有序的序列,直到整个序列有序 示意图 拆分序列 合并相邻有序的子序列 "转载自https://www.cnblog
阅读全文
摘要:快速排序 思路 1.对于一个数组,首先先选择一个基准值key,这个基准值可以随意选,但是一般选择的是这个数组的第一个元素a[0] 2.之后我们对于这个数组,把数组中所有比这个基准值key小的元素向基准值key的左边扔,把数组中所有比这个基准值key大的元素朝基准值key的右边扔 3.这样的话基准值k
阅读全文
摘要:希尔排序 什么是希尔排序? 希尔排序的本质就是分组插入排序 希尔排序的思想 将整个待排元素序列分割成若干个子序列 对子序列进行插入排序 依次缩减增量再次进行排序 这样往复直到整个序列元素基本有序(其实也就是增量足够小的时候) 再对整个序列进行一次直接插入排序,这次排序是在整个序列基本有序的状态,接近
阅读全文
摘要:解决乱码问题 乱码的原因 字体的不匹配 解决的方法 加上引用中文字体就好了 代码 效果
阅读全文
摘要:pandas中的数据结构 DataFrame DataFrame是什么? 表格型的数据结构 DataFrame 是一个表格型的数据类型,每列值类型可以不同 DataFrame 既有行索引、也有列索引 DataFrame 常用于表达二维数据,但可以表达多维数据 DataFrame创建 从字典创建 从二
阅读全文
摘要:插入排序 思路 1.首先对于a[0]这个单个元素来说其自己就是有序的,所以要从a[1]开始 2.第二步是把a[1]这个元素插入a[0]这个列表中 3.如果a[0]比a[1]大的话,a[0]应该给a[1]位置,a[1]=a[0],那么a[0]朝后面移动了一个位置,这样a[1]就可以放到它应有的位置也就
阅读全文
摘要:选择排序 思路 1.一开始的时候,整个数组是无序的,我们遍历数组找到最小的值,将这个最小的值放到它应该放的位置也就是a[0] 2.接着我们再从a[1]到a[n]中继续遍历找到最小的值,并将它放到正确的地方a[1] 3.这样a[0],a[1]就是有序的了 4.我们在循环这样的过程从a[i] a[n]中
阅读全文
摘要:冒泡排序 思路 1.依次对数组中每对相邻的元素比对,如果前者比后者大,那么它们就交换位置,这样一趟下来总能把一个最大元素送到末尾的位置 2.可以这么说,每一趟排序进行之后使得数组后面的有序部分规模在增大,前面的无序部分规模在减小 3.经过这样多次交换之后数组就有序了 代码
阅读全文
摘要:排序的分类 内部排序 在内存中排序 外部排序 数据量过大,需要借助外存 时间复杂度以及是否稳定
阅读全文
摘要:八皇后问题 问题 1.8乘8的棋盘上 2.摆放8个皇后 3.任意两个皇后不能同行、同列、同对角线 4.问多少种摆放方法 思路 1.第一个皇后放在第一列 2.第二个皇后放在第二列,判断是否相互攻击,如果攻击依次放在第二列、第三列、依次把所有列都放完,找到一个合适的 3.继续第三个皇后,还有第一列、第二
阅读全文
摘要:pandas中数据结构 Series pandas简介 Pandas是一个开源的,BSD许可的Python库,为Python编程语言提供了高性能,易于使用的数据结构和数据分析工具。Python与Pandas一起使用的领域广泛,包括学术和商业领域,包括金融,经济学,统计学,分析等。在本教程中,我们将学
阅读全文
摘要:迷宫问题 整体问题 判断从起点能否走到终点,如果可以打印出来路径 思路 1.创建迷宫 2.设置起点和终点 3.如果走到终点退出递归 4.如果这个点没走过,假设它可以走通,递归的对它的四个方向走,如果通就返回true,四个方向都不通就返回false 5.如果这个点走过,就不能再走,直接返回false
阅读全文
摘要:递归 什么是递归 递归就是自己调用自己,每次调用传入不同的变量,递归有助于编程者解决复杂的问题,同时可以让代码变得更加简洁 递归执行过程 1.当程序执行到一个方法的时候,就会开辟一个新的栈 2.每个空间的局部变量是独立的 递归的案例 递归解决什么问题 1.8皇后、汉诺塔、阶乘、二分查找、迷宫等问题
阅读全文
摘要:DataLinkLayer(数据链路层) The Reference Model(参考模型) | layer | name | | : | : | | 5 | Application layer | | 4 | TransPort layer | | 3 | NetWork layer | | 2
阅读全文
摘要:numpy伪随机数的生成 normal函数 可以用normal来得到一个标准正态分布的4×4样本数组 seed函数 这些都是伪随机数,是因为它们都是通过算法基于随机数生成器种子,在确定性的条件下生成的。可以用NumPy的np.random.seed更改随机数生成种子: RandomState num
阅读全文
摘要:numpy中线性代数用法 矩阵乘法 计算点积 计算的公式是 计算内积 计算公式 计算行列式 求线性方程的解 矩阵表示
阅读全文
摘要:保存单个数组 np.save和np.load是读写磁盘数组数据的两个主要函数。默认情况下,数组是以未压缩的原始二进制格式保存在扩展名为.npy的文件中的: 如果文件路径末尾没有扩展名.npy,则该扩展名会被自动加上。然后就可以通过np.load读取磁盘上的数组
阅读全文
摘要:中缀表达式实现简单计算器 思路分析 1.定义两个栈,一个是数栈,另外是一个符号栈 2.设置优先级别的判断,乘除优先级要大于加减优先级 3.定义一个函数,处理两个操作数和一个运算符的运算符的运算结果 4.逐个扫描输入的中缀表达式,如果是数字就入数栈,如果是运算符的话就考虑其与符号栈顶的运算符的优先级谁
阅读全文
摘要:进程管理(十三) 线程 什么是线程 进程是程序的一次执行过程和资源分配的基本单位。一个进程内的基本调度单位称为线程(Thread)或称为轻权进程(Light weight process),这个调度单位既可以由操作系统内核控制,也可以由用户程序控制。 为什么引入线程 引入线程主要是为了提高系统的执行
阅读全文
摘要:python根据文本生成词云图 效果 代码 步骤以及注意点 1.首先要导入对应的库 2.文字会根据背景图而分布 3.背景图的选择对于最终效果很重要,选一个尽量大一点的背景图,这个背景图随便找就好,任何图片都可以不过最好大一些,图案不太复杂 4.如果字号小的话,可以调整字体,或者换个背景图 5.fon
阅读全文
摘要:进程管理(十二) 死锁 什么是死锁 死锁,是指各并发进程彼此互相等待对方所拥有的资源,且这些并发进程在得到对方的资源之前不会释放自己所拥有的资源。从而造成大家都想得到资源而又都得不到资源,各并发进程不能继续向前推进的状态。 生产者消费者角度看待死锁 以生产者/消费者问题为例来看死锁的概念。 设生产者
阅读全文
摘要:进程管理(十) 进程通信 什么是进程通信 通信(communication)意味着在进程间传送数据。 低级通信VS高级通信 控制信息的传送。进程间控制信息的交换称为低级通信。 大批量数据传送。进程间大批量数据的交换称为高级通信。 进程的通信的四种方式 主从式 特点: 1.主进程可自由地使用从进程的资
阅读全文
摘要:进程管理(十) 进程同步 直接制约VS间接制约 | 制约 | 导致 | 原因 | | | | | | 直接制约 | 互斥 | 竞争公有资源 | | 间接制约 | 同步 | 并发进程互相共享对方的私有资源 | 什么是同步 简单说,就是指系统中多个进程中发生的事件存在某种时序关系,需要相互合作,共同完成
阅读全文
摘要:栈 什么是栈 1.栈的英文是stack 2.栈是一个先入后出的有序列表 3.栈是限制线性表元素的插入和删除只能在线性表的同一端进行的一种特殊的线性表,允许插入和删除的一端是,为变化的一端,成为栈顶,另外的一端为固定的一端为栈底 4.栈的定义可知,最先放入栈中的元素在栈底,最后放入的元素在栈顶,而删除
阅读全文
摘要:numpy使用数组进行数据处理 meshgrid函数 理解: 二维坐标系中,X轴可以取三个值1,2,3, Y轴可以取三个值7,8, 请问可以获得多少个点的坐标? 显而易见是6个: (1,7)(2,7)(3,7) (1,8)(2,8)(3,8) 生成坐标绘制图像: 将条件逻辑表述为数组运算 根据con
阅读全文
摘要:numpy中的快速的元素级数组函数 一元(unary)ufunc 对于数组中的每一个元素,都将元素代入函数,将得到的结果放回到原来的位置 二元(binary)ufunc 取x和y之中对应位置的最大值 返回多个数组的ufunc 分别获取小数部分和整数部分 一些ufuc函数
阅读全文
摘要:进程管理(九) 进程互斥 临界区 什么是临界区 不允许多个并发进程交叉执行的一段程序称为临界部分(critical section )或临界区(critical region) 临界区不可能用增加硬件的方法来解决。因此,临界区也可以被称为访问公用数据的那段程序。 为什么要设置临界区 防止进程并发执行
阅读全文
摘要:进程管理(八) 进程控制 原语 什么是原语 在操作系统中,通常把进程控制用程序段做成原语。 为什么引入原语 为了在并发执行过程中执行进程控制任务时候,减少系统的开销和复杂度 控制原语分类 创建原语 撤消原语 阻塞原语 唤醒原语 进程的创建与撤销 进程的创建方式 | 创建方式 | 特点 | | | |
阅读全文
摘要:进程管理(七) 进程状态与转换 进程的状态 一个进程的生命期可以划分为一组状态,这些状态刻划了整个进程。系统根据PCB 结构中的状态值控制进程。 在进程的生命期内,一个进程至少具有三种基本状态:执行状态、等待状态和就绪状态。 执行状态 单CPU系统中,任一时刻处于执行状态的进程只能有一个。 就绪状态
阅读全文
摘要:进程管理(六) 进程的描述 进程控制块:进程的PCB 是系统感知进程的唯一实体 程序段:描述进程所要完成的功能 程序操作的数据集:程序在执行时必不可少的工作区和操作对象 PCB PCB是什么 PCB包含有关进程的描述信息、控制信息以及资源信息,是进程动态特征的集中反映。 PCB作用 1.系统根据PC
阅读全文
摘要:numpy数组转置与轴变换 矩阵的转置 矩阵的内积 轴变换 二维轴变换 1.两轴交换 三维轴变换 1.这种变化有点麻烦,不好理解。但是如果简单化就好了,加入用P(x,y,z)来表示矩阵中的每一个点,那么在numpy中,这个x,y,z就分别对应0,1,2 2.举个例子比如原来数组中0这个元素,它原来的
阅读全文
摘要:numpy数组的索引和切片 基本切片操作 切片赋值操作 1.切片赋一个值对应原来数组中的值也会变 2.给数组中所有元素赋值 3.如果想使用复制的方法,使用copy方法 高阶数组索引 高维数组切片 布尔型索引 1.假设我们有一个用于存储数据的数组以及一个存储姓名的数组(含有重复项)。在这里,我将使用n
阅读全文
摘要:numpy数组的运算 数组的乘法 数组的减法 数组的标量运算 数组的标量运算会传播到数组中的每一个元素 数组比较 大小相同的数组之间的比较会生成布尔值数组:
阅读全文
摘要:numpy库中数组的数据类型 dtype是一个特殊的对象,它含有ndarray将一块内存解释为特殊数据类型所需要的信息 指定数据类型创建数组 numpy数据类型 数组数据类型转换 注意: 1.使用numpy.string_类型时,一定要小心,因为NumPy的字符串数据是大小固定的,发生截取时,不会发
阅读全文
摘要:Defination Computer NetWork A number of individual computers interconnected through a communication network A collection of autonomous computer system
阅读全文

浙公网安备 33010602011771号