lichenghui's blog

Pursue excellence, and success will follow!


  • Home

  • Categories

  • Tags

  • Archives

  • About

signal与sigaction函数详解

Posted on 2018-01-04 | In 学习笔记 | Visitors:

概述

信号是事件发生时对进程的通知机制。也可称为软件中断,信号与硬件中断的相似之处在于,都打断了程序执行的正常流程。大多数情况下无法预测信号到达的时间。
进程可以向另一进程发送信号,也可以向自身发送信号,多数信号都是源于内核,引发内核向目的进程发送信号的各类事件如下:

Read more »

归并排序

Posted on 2018-01-02 | In 数据结构与算法 | Visitors:

概述

堆排序充分利用了完全二叉树的深度为floor(logn)+1的特性,效率非常高,但是堆的结构设计非常复杂,归并排序就是直接利用完全二叉树进行排序的简单的方法。
归并排序的原理是假设初始序列有n个记录,则可以看作是n个有序子序列,每个子序列的长度为1,然后两两归并,……,如此重复,直到得到一个长度为n的有序序列,这种排序方法称为2路归并排序

Read more »

选择排序

Posted on 2018-01-01 | In 数据结构与算法 | Visitors:

目录:

  • 简单选择排序

  • 树形选择排序

  • 堆排序

    Read more »

浅谈内存分配

Posted on 2017-12-31 | In 学习笔记 | Visitors:

许多系统程序需要为动态数据结构分配额外内存,此类数据结构的大小在程序运行时才能确定。本文介绍下在堆或者堆栈上分配内存的函数

Read more »

浅谈树和二叉树(二)

Posted on 2017-12-31 | In 数据结构与算法 | Visitors:

线索二叉树

概述

遍历二叉树是以一定的规则将二叉树中的结点排列成一个线性序列,得到二叉树中结点的先序序列,中序序列和后序序列。这实质上是对一个非线性序列进行线性化操作,使得每个结点(除第一个和最后一个)都有唯一的前驱和后继。

Read more »

浅谈树和二叉树(一)

Posted on 2017-12-29 | In 数据结构与算法 | Visitors:

树

基本术语

  • 结点拥有的子树称为结点的度
  • 度为0的结点称为叶子结点或终端结点
  • 树的度是树内各结点的度的最大值
  • 结点的层次从根开始定义,根为第一层,根的孩子为第二层,若某结点的层次为m,则其子树的根就在第m+1层。
  • 树中结点的最大层次称为树的深度或高度
  • 一棵深度为k且有2^k-1个结点的二叉树称为满二叉树,其每一层上的结点数都是最大结点数
  • 从根节点开始,从上到下,从左到右依次填充的二叉树称为完全二叉树,其叶子节点只可能出现在层次最大的两层上面
    Read more »

进程与虚拟内存

Posted on 2017-12-27 | In 操作系统 | Visitors:

进程内存布局

从内核角度看,进程由用户内存空间和一系列的内核数据结构组成,其中用户内存空间包含了程序代码以及代码所使用的变量,而内核数据结构则用于维护进程状态信息。
每个进程所分配的内存由很多部分组成,通常称之为“段”,其内容如下:

Read more »

插入排序

Posted on 2017-12-24 | In 数据结构与算法 | Visitors:

目录:

  • 直接插入排序

  • 其他插入排序

  • 希尔排序

    Read more »

数据对齐

Posted on 2017-12-22 | In 语言 | Visitors:

概述

许多计算机系统对基本数据类型的合法地址做出了一些限制,要求某种类型对象的地址必须是某个值K(通常是2,4,8)的倍数。这种对齐简化了形成处理器和内存系统之间接口的硬件设计。比如一个处理器每次从内存中读取八个字节,如果保证每个double类型数据的地址对齐成8的倍数,那么就可以用一个内存操作完成读写值,否则要进行两次读写操作,因为对象可能放在两个8字节内存块中

Read more »

交换排序

Posted on 2017-12-11 | In 数据结构与算法 | Visitors:

目录:

  • 起泡排序

  • 快速排序

Read more »
1…6789
lichenghui

lichenghui

stay foolish, stay hungry

81 posts
11 categories
84 tags
MyGitHub
© 2022 lichenghui
Powered by Hexo
|
Theme — NexT.Gemini v5.1.3