秋夜雨巷

N皇后

回溯法和深度优先遍历的关系 深度优先遍历在编码上可以使用栈或者递归实现,当使用递归时就叫做回溯法,,N皇后问题-回溯法,可以求解所有可能的解,而广度优先一般不可以求得所有解,但是可应用于最优解问题,利用分支限界的思想,所以一般求解最优化问题使用广度优先,深度优先也可以。 题目规则 N皇后问题是一个经典的问题,在一个N*N的棋盘上放置N个皇后,每行一个并使其不能互相攻击(同一行、同一列、同一斜线上的皇后都会自动攻击)。  

秋夜雨巷

软件设计师01-计算机组成原理与体系结构

数据的表示 R进制转十进制 十进制转R进制 短除法 二进制转八进制/十六进制 八进制从后往前每三位一个划分,十六进制从后往前每四位一个划分。 原码、反码、补码、移码 计算机存储一个值假如用一个字节存储(1Byte=8bit),那么是8位二进制,这个是原码(第一位为标志位,1字节的数值范围为-255~255)。因为原码不能进行直接的操作,所以引入了反码、补码、移码等概念。 正数的原码、反码、补码是一样的。负数的反码是标志位不变,其他位取反。负数的补码是在反码的基础上,对反码进行加一。移码是在补码基础上将标志位进行取反。  原码、反码、补码的范围…

秋夜雨巷

Python环境搭建

Python 是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越来越多被用于独立的、大型项目的开发。 Python在执行时,首先会将.py文件中的源代码编译成Python的byte code(字节码),然后再由Python Virtual Machine(Python虚拟机)来执行这些编译好的byte code。 Python安装 https://www.python.org/下载安装包进行安装(猜测和java的JDK一样) 下载完成后安装,这里点击Add…

秋夜雨巷

Java中BIO和NIO

同步/异步、阻塞/非阻塞概念 同步异步 同步和异步关注的是消息通信机制 (synchronous communication/ asynchronous communication) 同步:在发出一个调用时,在没有得到结果之前,该调用就不返回。一旦调用返回,就得到返回值了。调用者主动等待这个调用的结果。异步:调用在发出之后就直接返回了,没有立刻得到返回结果。在调用发出后,被调用者通过状态、通知来通知调用者,或通过回调函数处理这个调用。 I/O 通常来说,IO操作包括:对硬盘的读写、对socket的读写以及外设的读写,并且需要进行用户空间和内核空 间的区分(用户空间就是普通的用户进程,内核空间就是内核进程,只有内核空间才可以直接范围磁盘等物理…