摘要: 注:本文所指归并排序指 二路归并排序。 归并排序是平均情况、最坏情况、最好情况时间复杂度都为O(Nlog2N)的稳定的排序算法。最近梳理了下归并排序的递归、非递归、以及自然归并排序算法。 归并排序的基础:将两个有序数组合并为一个有序数组,需要O(n)的辅助空间。 图片来自:https://www.c 阅读全文
posted @ 2018-05-28 23:59 _gardener 阅读(2161) 评论(0) 推荐(0) 编辑
摘要: 1. 文件描述符的本质是数组元素的下标 右侧的表称为i节点表,在整个系统中只有1张。该表可以视为结构体数组,该数组的一个元素对应于一个物理文件。 中间的表称为文件表,在整个系统中只有1张。该表可以视为结构体数组,一个结构体中有很多字段,其中有3个字段比较重要: 左侧的表称为文件描述符表,每个进程有且 阅读全文
posted @ 2017-11-25 10:47 _gardener 阅读(222) 评论(0) 推荐(0) 编辑
摘要: 在操作系统中,线程与进程是非常重要的概念,深刻地理解它们很有必要。那么,什么是线程,什么是进程呢?它们之间又有什么区别什么联系呢? 进程是具有独立功能的程序关于某个数据集合的一次运行活动,可以申请和运行资源,是系统资源分配和调度的最小单位。一个程序可以对应一个或多个进程,一个进程可以对应一个程序或一 阅读全文
posted @ 2017-02-25 18:22 _gardener 阅读(251) 评论(0) 推荐(0) 编辑
摘要: 学习C++socket通信,先复习下计算机网络里的一些知识。 OSI即Open System Interconnection(开放式系统互联),它提供了一个网络中计算机通信网络系统结构模型的参考。 OSI共有七层。 表示层 会话层 传输层 网络层 数据链路层 物理层 TCP/IP参考模型是计算机网络 阅读全文
posted @ 2016-11-03 14:06 _gardener 阅读(423) 评论(0) 推荐(0) 编辑
摘要: 在编程的过程中,文件的操作是一个经常用到的问题,在C++Builder中,可以使用多种方法对文件操作,下面我就按以下几个部分对此作详细介绍,就是: 1、基于C的文件操作; 2、基于C++的文件操作; 3、基于WINAPI的文件操作; 4、基于BCB库的文件操作; 5、特殊文件的操作。 壹、基于C的文 阅读全文
posted @ 2016-11-02 10:59 _gardener 阅读(164) 评论(0) 推荐(0) 编辑
摘要: 树的编程平时基本没怎么用到,花功夫去专门研究的人不多,所以笔试面试出树的情况比较多,看了别人总结的,自己写一份,加深印象。 参考博客:http://zhedahht.blog.163.com/blog/static/25411174201081263815813/ 二叉树分为有序二叉树(也叫二叉搜索 阅读全文
posted @ 2016-10-27 15:34 _gardener 阅读(314) 评论(0) 推荐(0) 编辑
摘要: 题目:把n个骰子扔在地上,所有骰子朝上一面的点数之和为S。输入n,打印出S的所有可能的值出现的概率。 一般来说骰子点数为1~6,n个筛子的点数之和可以这样理解:第n个骰子可能出现的数与前面(n-1)个骰子和的和,前面(n-1个骰子)的和为第(n-1)个骰子可能出现的数与前面(n-2)个骰子和的和。。 阅读全文
posted @ 2016-10-21 17:35 _gardener 阅读(2015) 评论(0) 推荐(0) 编辑
摘要: 扑克牌的顺子从扑克牌中随机抽 5 张牌,判断是不是一个顺子,即这 5 张牌是不是连续的。 2-10 为数字本身,A 为 1,J 为 11,Q 为 12,K 为 13,而大小王可以看成任意数字。 没找到很好的解法,贴上我的解法,看有没有更好的解法。 我用一个数组存储输入的数字,用99代表大小王,然后对 阅读全文
posted @ 2016-10-20 11:25 _gardener 阅读(727) 评论(0) 推荐(0) 编辑
摘要: 题目:我们把只包含因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含因子7。习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第1500个丑数。 分析:这是一道在网络上广为流传的面试题,据说google曾经采用过这道题。 分析:假设数组ugly[N]中 阅读全文
posted @ 2016-10-20 09:27 _gardener 阅读(664) 评论(0) 推荐(0) 编辑
摘要: 重温了一下二叉树这个结构,以前上课的时候都是感觉懂了,具体实现还没有动手写过。主要写了二叉树的建立,递归遍历以及深度,根节点等方法。 //树节点的头文件 #ifndef BinTreeNode_H_#define BinTreeNode_H_#define NULL 0class BinTreeNo 阅读全文
posted @ 2016-10-18 15:18 _gardener 阅读(761) 评论(0) 推荐(0) 编辑