排序算法(2)

本文是”排序算法“第2篇文章,主要介绍线性时间复杂度的三种非比较排序算法:计数排序、桶排序和基数排序。这三种排序给我们另一种思考问题的角度。

阅读更多

排序算法(1)

排序算法在整个算法体系中属于比较基础的知识,以致于大多数人并没有意识到它对于构建当今计算机庞大技术体系所发挥的巨大作用。

对于很多算法问题而言,要想直接找到更小时间复杂度的方案非常困难,但是一旦将数据排好序,问题就会迎刃而解,所以排序算法扮演着算法基石的作用。

计算机科学家们很早就开始研究各种排序算法,排序算法时间复杂度的每一次微小降低,都会在计算机世界引起轰动。

阅读更多

创建新进程

本文概述:

  1. 简要介绍Windows程序的启动过程;
  2. 详细介绍在控制台程序、窗口程序中获取命令行、环境变量和当前目录的方法;
  3. 以Windows API和C#为例,编写创建新进程、设置并获取命令行等数据的完整代码;
  4. 介绍环境变量、命令行在VS程序调试、业务开发平台切换中的实际应用。
阅读更多

数据加密、报文完整性、端点鉴别

A发送信息给B,站在不同角度直观来看,对本次信息传递有三点要求:

  • A确定信息只有B接收:采用数据加密实现机密性
  • B确定接收的信息是A发送的:端点鉴别
  • A、B确定信息传送过程中没有被篡改:报文完整性

技术源于现实需求,从现实需求出发思考技术的意义和组成,是深刻理解技术的起点。个人认为,认识这一点甚至比简单掌握技术内容本身更加重要。

阅读更多