摘要: 栈与队列的区别: 栈只能在一端(栈顶)进行插入和删除操作,换言之栈只需要一个栈顶指针即可;规则是先进后出; 队列只能在一端(队尾)进行插入,在另一端(队头)进行删除,换言之队列需要队头指针和队尾指针两个,规则是先进先出; 自己的理解:队列和栈实际上就是线性表的阉割版;酷狗音乐播放列表就是个队列,添加 阅读全文
posted @ 2017-09-09 14:47 面带微笑 阅读(91) 评论(0) 推荐(0)
摘要: 一面: 1、问项目,选一个深刻的项目讲,中途提问题:算法细节,为什么这么处理,确定是否是自己做的项目; 2、操作系统部分: 线程与进程的联系和区别? 答:定义:进程就是一个独立运行的程序,是系统进行资源调度和分配的独立单位; 线程是进程的一个实体,是CPU调度和分配的基本单位; 联系: 1、一个程序 阅读全文
posted @ 2017-08-24 14:38 面带微笑 阅读(151) 评论(0) 推荐(0)
摘要: 1、 归并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。 首先考虑下如何将将二个有序数列合并。这个非常简单,只要从比较二个数列的第一个数,谁小就先取谁,取了后就在对应数列中删除这个数。然后再进行比较,如果有数列为空,那直接 阅读全文
posted @ 2017-07-01 09:27 面带微笑 阅读(79) 评论(0) 推荐(0)
摘要: 1、二叉查找树(英语:Binary Search Tree),也称二叉搜索树、有序二叉树(英语:ordered binary tree),排序二叉树(英语:sorted binary tree),是指一棵空树或者具有下列性质的二叉树: 2、平衡二叉树(Balanced Binary Tree)又被称 阅读全文
posted @ 2017-07-01 09:17 面带微笑 阅读(208) 评论(0) 推荐(0)
摘要: 注:本文代码测试环境为win7 X64 cpu, 编译器为gcc4.7.1 和 vs2010 内存对齐是编译器为了便于CPU快速访问而采用的一项技术 我们先从一个例子开始,对下面的类(或者结构体) class node { char c; int i; short s; }no; sizeof(no 阅读全文
posted @ 2017-06-22 10:09 面带微笑 阅读(83) 评论(0) 推荐(0)
摘要: Static :静态的 通常声明的不用static修饰的变量,都是auto的,因为它是默认的,就象short和long总是默认为int一样; auto的含义是由程序自动控制变量的生存周期,通常指的就是变量在进入其作用域的时候被分配,离开其作用域的时候被释放; 而static就是不auto,变量在程序 阅读全文
posted @ 2017-06-14 16:12 面带微笑 阅读(301) 评论(0) 推荐(0)