终端

B树、B-树、B+树、B树都是什么

≡放荡痞女 提交于 2021-01-10 07:27:24
B 树、 B- 树、 B+ 树、 B* 树都是什么 B 树 即二叉搜索树: 1. 所有非叶子结点至多拥有两个儿子( Left 和 Right ); 2. 所有结点存储一个关键字; 3. 非叶子结点的左指针指向小于其关键字的子树,右指针指向大于其关键字的子树; 如: B 树的搜索,从根结点开始,如果查询的关键字与结点的关键字相等,那么就命中;否则,如果查询关键字比结点关键字小,就进入左儿子;如果比结点关键字大,就进入右儿子;如果左儿子或右儿子的指针为空,则报告找不到相应的关键字; 如果 B 树的所有非叶子结点的左右子树的结点数目均保持差不多(平衡),那么 B 树的搜索性能逼近二分查找;但它比连续内存空间的二分查找的优点是,改变 B 树结构(插入与删除结点)不需要移动大段的内存数据,甚至通常是常数开销; 如: 但 B 树在经过多次插入与删除后,有可能导致不同的结构: 右边也是一个 B 树,但它的搜索性能已经是线性的了;同样的关键字集合有可能导致不同的树结构索引;所以,使用 B 树还要考虑尽可能让 B 树保持左图的结构,和避免右图的结构,也就是所谓的“平衡”问题; 实际使用的 B 树都是在原 B 树的基础上加上平衡算法,即“平衡二叉树”;如何保持 B 树结点分布均匀的平衡算法是平衡二叉树的关键;平衡算法是一种在 B 树中插入和删除结点的策略; B- 树 是一种多路搜索树(并不是二叉的):

macbook配置zsh详情

早过忘川 提交于 2020-04-29 18:50:47
大多数的Linux用户偏爱bash shell,因为发行版通常默认的就是它。bash确实是不错的Shell,但仍有用很多不尽人意的地方,如自动补全的功能不够强大,定位较长路径不够方便,命令历史管理不够完善等。 自动安装: 打开终端 直接输入 sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)" 再输入你本机的管理员密码,就安装成功了。 手动安装: 1). 克隆这个项目到本地(前提是你得有装git) git clone git://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh 2). 创建一个zsh的配置文件 注意:如果你已经有一个~/.zshrc文件的话,建议你先做备份。使用以下命令 cp ~/.zshrc ~/.zshrc.orig 然后开始创建zsh的配置文件 cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc 3). 设置zsh为你的默认的shell chsh -s /bin/zsh 4). 重启并开始使用你的zsh (打开一个新的终端窗口便可…) 官网配置zsh地址: https://github.com/robbyrussell/oh

ubuntu 如何在任意终端不填加./就可以执行文件类似ls cd cp

和自甴很熟 提交于 2020-03-27 03:53:03
3 月,跳不动了?>>> 举个例子 ,我使用sublime text2 想在终端中类似于 vim test.c一样的可以执行 st test.c 我的操作是先找到可执行的sublime_text可执行文件夹,右键sublime_text创建快捷键,重命名为st sudo cp st /usr/bin 完了之后,在终端输入 st test.c 这次就可以了 来源: oschina 链接: https://my.oschina.net/u/114929/blog/228638

实时/分时、抢占式系统的意思 

佐手、 提交于 2019-12-22 14:28:54
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 原来实时系统是和抢占式系统是对应的。哈哈,今天才明白! 抢占式多任务操作系统: 在 Windows 3.1 中,多任务方式是“协作式多任务”,意思是说一个任务得到了 CPU 时间,除非它自己放弃使用 CPU ,否则将完全霸占 CPU ,所以任务之间需要协作——使用一段时间的 CPU ,放弃使用,其它的任务也如此,才能保证系统的正常运行;而在 Windows 95 中使用的就是“抢占式多任务”了,它的总控制权在 Windows 手中,Windows 会轮流询问每一个任务是否需要使用 CPU ,需要使用的话就让它用,不过在一定时间后,Windows 会剥夺当前任务的 CPU 使用权,把它排在询问队列的最后,再去询问下一个任务……。这种方式上的不同造成 95 和 3.1 性能上的不同:3.1 中如果有一个任务死锁,则系统也同样死锁;95 中有一个任务死锁,系统仍能正常运行。 实时系统 指电脑使用者发出一要求时,在一个限定的时间内,电脑系统回复使用者的要求。一般的反应时间视行业而定,约在数秒之内,时间越短则使用者的满意度越高,但也需要较好的电脑 系统。大部分线上系统以响应时间的长短来评估系统的效率,越短的反应时间表示系统效率越高。   或指计算机对于外来信息能够及时进行处理,并在控制对象允许时间范围内作出快速反应