建堆是 O(n) ,图形化证明 由于建堆过程自底向上,以交换作为主要操作,因此第 i 层任意节点在最不利情况下,需要经过 (n−i)对满二叉树而言,第 i 层(根为第 0 层)有 2^i 个节点。建堆的复杂度先考虑满二叉树,和计算完全二叉树的建堆复杂度一样。次交换操作才能完成以该节点为堆根节点的建堆过程。利用N的二进制表示,对总操作数进行图形化推导。元素总个数N,完全二叉树层数n,则有。
Linux重定向 I/O重定向允许我们更改输出地点和输入来源重定向符后接文件名将标准输出重定向到一个文件,目标文件总是从开头被重写注:清空文件技巧操作符,将输出结果添加到文件内容之后2>执行重定向标准错误到文件标准输入重定向# 重定向标准输出和错误到同一个文件注:重定向输出结果到一个叫做“/dev/null”的特殊文件,处理不需要的输出。这个文件是系统设备,叫做。
Linux命令2 显示一系列适合的命令,也有可能搜索参考手册列表,基于某个关键字的匹配项。它仍然是一本参考书,但是包含了很多实 例,而且它比 bash手册页容易阅读。Bash F AQ包含关于 bash,而经常提到的问题的答案。这个列表面向 bash的中高级用 户,但它包含了许多有帮助的信息。bash支持若干命令,内部叫做shell内部命令(builtins)。例如,cd命令,就是一个shell内部命令。显示一个可执行程序的位置,只对可执行程序有效,不包括内建命令和命令别名。我们可以定义自己的命令,建立在其它命令之上。
Linux常用命令1 less”这个名字,对习语“less is more”开了个玩笑,这个习语是现代主义建筑师和设计者的座右铭。当你创建帐号后,几个配置帐号的隐藏文件被放置在你的家目录下。另外,一些应用程序也会把它们的配置文件以隐藏文件的形式放在你的家目录下面。在GNOME里面,当拖动文件时,同时按下Ctrl+Shift按键会创建一个链接,而不是复制(或移动)文件。文件删除:i_link = i_count = 0,及硬链接和进程占用文件均为0。更改工作目录到你的家目录。查看磁盘剩余空间的数量。打印出当前工作目录名。
什么是命令行、shell、bash、终端(terminal) bash”是“Bourne Again SHell”的首字母缩写,表面明bash是最初Unix上由Steve Bourne写成shell程序sh的增强版。当使用图形用户界面时,我们需要另一个**和shell交互的叫做终端仿真器(terminal)**的程序,ta让我们能访问shell。shell就是一个程序,它接受从键盘输入的命令,然后把命令传递给操作系统去执行。
为什么使用命令行 然而,现在大多数的用户只是熟悉图形用户界面(GUI),因为产品供应商和此领域的学者不断灌输给用户这样的思想,命令行界面(CLI)是过去使用的一种很恐怖的东西。“自由”是一种权力,但是在过去的二三十年里,这种基本的权力正在消失,一些大公司不断地把它的管理权强加到世界上绝大多数的计算机上,并且决定你对计算机的操作权力。不像其他一些计算机技能,一段时间之后可能就被淘汰了,命令行知识却不会落伍,你今天所学到的,在十年以后,都会有用处。一提到Linux,许多人都会说到“自由”,但他们也许并不知道“自由”的真正涵义。