做题笔记
java
像byte和short之间的计算,得到的值会自动转型为int,所以byte=byte+byte
是不行的
那些字节流都是以stream结尾的
数组竟然还有这种声明方式
1
2int c[][]=new int[10][10];
int []d[]=new int[10][10];
树
一颗深度为h的满c叉树,节点数为n=((c^h)-1)/(c-1)
,叶子节点数=c^(h-1)
对于任意树结构,节点数=边数+1
二叉树中的度指的是拥有的孩子节点数
对于任意二叉树,n0=n2+1
对于完全二叉树,当节点数为偶数时,叶子节点数=总节点数/2
,当节点数为奇数时,叶子节点数=[总节点数/2]+1
在任意一棵非空二叉排序树中,删除某结点后又将其插入,则所得二排序叉树与原二排序叉树相同。没想懂为何是错的,说只有删除的节点是叶子节点才成立
一颗二叉树的先根遍历和后根遍历相反,那么证明他只有左子树或者右子树
B树,B+树和B*数的任意左右子树都是等高的,因为本来整棵树就是等高的
分支节点意思就是非叶子节点
链表
循环队列的元素个数公式:(尾-头+长度)%长度
数据结构的存储密度=数据项所占空间/结点所占空间
对于只在表的首、尾两端进行插入操作的线性表,宜采用的存储结构为用尾节点表示的循环单链表
所有结点的指针域都为非空的链表一定是非线性结构是错的,因为循环链表也是线性的
串是一种特殊的线性表,其数据为字符操作也不同,偏向于查找替换子串。串的长度为字符个数。
linux
sed命令,s表示替换,/g表示每行的匹配出的全部的都替换。导入文件可以用sed 's/AAA/BBB/g' xyz > xyz.tmp
linux文件权限操作
1
2
3chmod 权限 path
chown 账号.组 path
chgrp 组 path
其他
快速排序特点:若数据基本有序,会退化为冒泡排序,O(n^2)。越无序则越高效,与最大最小值无关
中间件是一种独立的软件或者程序,用于分布式的不同技术软件之间的资源共享。即使用不同的技术或者接口,但仍然能通过中间件交换信息,使得程序能运行在不同环境下。因此中间件只负责信息共享,并不能提高内核效率。