自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 收藏
  • 关注

原创 IPC——管道

进程间通信(IPC) 英文名IPC,因为每个进程各自有不同的用户地址空间,任何一个进程的全局变量在另一个进程看不到,所以进程之间要交换数据必须通过内核,在内核中开辟一块缓冲区,进程1把数据从用户地址空间拷到内核缓冲区,进程2再从内核缓冲区把数据读走,内核提供的这种机制称为进程间通信。 管道: 管道是Unix中最古老的进程间通信的形式,是一种最基本的IPC机制。 我们把从一个进程连接到另...

2018-03-30 16:30:26 237

原创 RBT红黑树

引入 最开始我们学习了搜索二叉树,但是最后我们发现搜索二叉树有缺陷,之后我们又引入了AVL树。AVL树是一种高度平衡的二叉搜索树,能够满足增删查都是O(logN)的时间复杂度。既然AVL树已经满足了我们的期望,那么为什么还要引入红黑树呢? 这是由于AVL树是高度平衡的二叉搜索树,维持一颗AVL树的代价相比于红黑树来说是非常大的,由于它的高度平衡,使得它几乎每次插入或者删除都需要调...

2018-03-28 16:37:55 281

原创 AVL平衡搜索树

平衡? 平衡搜索二叉树是一种高度平衡的二叉排序树, 什么叫做高度平衡呢?意思是要么它是一颗空树,要么它的左子树和右子树都是平衡二叉树。平衡因子:二叉树上节点的左子树深度减去右子树的深度的值 最理想的平衡条件是左右两个子树的高度完全相等,但只有节点数为2^n-1(n为层数)的树才满足,当插入一个节点时,这种绝对状态便会被破坏,所以要求一颗AVL树左右子树高度差最多为1.也就是平衡因子...

2018-03-26 21:04:05 193

原创 线索化二叉树

什么是线索化?下图二叉树中的指针域并不是充分的利用了,有许许多多的”^”,也就是空指针域的存在,为避免浪费,我们最好充分利用起来。 对上图二叉树做中序遍历得到HDIBJEAFCG这样的字符序列,节点I的前驱是D,后继是B,遍历过后我们可以很清楚直到任意节点的前驱和后继是哪一个。可以在二叉链表上,我们只能知道每个节点指向其左右孩子节点的地址,而不知道其前驱是谁,后继是谁。要想知道必须遍历...

2018-03-23 20:48:17 345

原创 Linux:环境变量

环境变量 Linux是一个多用户的操作系统,每个用户登录系统后,都会有一个专用的运行环境。通常每个用户默认的环境都是相同的,这个默认环境实际上就是一组环境变量的定义。用户可以对自己的运行环境进行定制,其方法就是修改相应的系统环境变量。 概念: 一般指在操作系统中用来指定操作系统运行环境的一些参数。 每个用户都可以通过修改环境变量的方式对自己的运行环境进行配置。分类: (1)系统...

2018-03-21 17:00:17 221

原创 二叉搜索树的基本操作

概念:二叉搜索树又称为二叉排序树,它或者是一颗空树,或者是具有以下性质的二叉树 (1)若它的左子树不为空,则左子树上所有节点的值都小于根节点的值。 (2)若它的右子树不为空,则右子树上所有节点的值都大于根节点的值。 (3)它的左右子树也分别为二叉搜索树。 下图就是一棵标准的搜索二叉树 构造一棵二叉搜索树的目的其实并不是为了排序而是为了提高查找和插入删除关键字的速度,在一个有序数据集上...

2018-03-19 20:53:22 251

原创 Linux:软/硬链接 动/静态库

为了能解释清楚inode我们先简单了解一下文件系统: 超级块:存放文件系统本身的结构信息 inode:存放文件属性,如文件大小,所有者,最近修改时间等 数据区:存放文件内容 事实上,真正找到磁盘上文件的并不是文件名,而是inode。 inode (1)查看每一个目录下每个文件的inode号[a@localhost ~]$ ls -i270062 \ 269732 ...

2018-03-17 20:53:35 1092 1

原创 堆的基本操作及堆排序

堆简介 堆是一种特殊的数据结构,它通常是一个可以看做一棵树的数组对象。 堆既然是一个数组,它便通过下标以二叉树的方式来保存。 以下图二叉树模型为例 红色数字代表节点的值,黑色数字代表节点的下标。 这是一颗乱序的完全二叉树,可以观察到 父节点下标 = (左孩子下标-1)/2 左孩子下标 = (父节点下标*2)+1 根据以上规律便可以很好地存储一棵树了。 堆有两种存储结构: 最...

2018-03-14 13:05:58 225

原创 二叉树相关面试题(上)

一,将二叉搜索树转换为一个排序的双向链表。 提示:要求不能创建任何新的结点,只能调整树中节点的指向。 eg: 搜索二叉树:左节点的值小于父节点的值,右节点的值大于父节点的值。 思路:二叉树中每个节点有两个指向子节点的指针,双向链表中每个节点也有两个指针,两个节点结构相似,同时二叉搜索树也是一种排序的数据结构。因此理论上可能实现二叉搜索树和排序双向链表的转换。 步骤:在将二叉搜索树转换...

2018-03-02 16:27:00 948

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除