自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

naw0011的专栏

坚持看书

  • 博客(12)
  • 收藏
  • 关注

原创 二叉查找树之--AVL树

AVL树是带有平衡条件的二叉查找树。左右子树的高度差不超过1,其实就是-1,0,1。对AVL树的插入会破坏其平衡。我们把必须调整的节点叫做a。a不平衡会由下面4个插入情况导致:1.对的左儿子的左子树进行插入。2.对的左儿子的右子树进行插入。3.对的右儿子的左子树进行插入。4.对的右儿子的右子树进行插入。如下图所示。        上图中,1.4对称,2.

2013-11-05 20:44:22 724

转载 找工作总结-机会往往留给有准备的人

转发请注明出处:http://blog.csdn.net/xiajun07061225/article/details/12844801 其实我的求职过程在十一之前就已经结束了,总体讲比较顺利。参加面试的几家公司基本都拿到了offer,分别是阿里巴巴、美团网、创新工场涂鸦移动以及华为。当时也参加了其他公司的面试,比如人人,一面过后收到了二面通知,拒了。创新工场豌豆荚一面结束后等

2013-10-30 21:52:56 1506

转载 北邮Google大牛本科研究生总结~

转转:http://blog.csdn.net/vesper305/article/details/8674606结论 在找实习找工作过程中,经历过笔试面试的洗礼,逐渐看明白了自己技术哪些方面能顶住,哪些方面是纸灯笼一捅就破,哪些方面是完全空白。 能顶住:C++(模板、类、STL、C部分、对C++11的了解),基本数据结构与算法 纸灯笼:操作系统、Linux、网络通信、进程线程、搜

2013-10-30 21:48:05 1872

转载 不是技术牛人,如何拿到国内IT巨头的Offer

不久前,byvoid面阿里星计划的面试结果截图泄漏,引起无数IT屌丝的羡慕敬仰。看看这些牛人,NOI金牌,开源社区名人,三年级开始写Basic...在跪拜之余我们不禁要想,和这些牛人比,作为绝大部分技术屌丝的同学们,是否真的与国内IT巨头遥不可及呢?当你打开这个帖子的时候,我已经默认你是此文的目标读者,也就是想进入国内一流互联网企业的非牛人应届生。你不需要拿NOI的奖,无需是开源社

2013-10-30 21:40:29 798

原创 二叉查找树之——非递归实现

上一一篇文章介绍了二叉查找树的递归实现,递归算法以简洁明了,便于阅读与理解,但是只要是与递归有关,就少不了递归调用栈,也就是函数栈,这会导致栈溢出。假如递归层次达到10000次,程序就崩溃了,二叉查找树当插入的节点是升序或者逆序,就形成了链表,这样就形成了10000层递归。并且,递归没有非递归效率高,语音在于函数调用会相对耗时。所以非递归算法在安全性和效率上更实用。下面对二叉查找操作的非递归算法实

2013-10-30 19:59:05 1130 1

原创 二叉查找树之——递归实现

以二叉树为基础的树形数据结构在计算机中起到的作用不言而喻。最近在重温二叉树,主要是理解其中的递归和非递归实现的关联,并对二叉树的应用有更深的理解。其中,二叉树可以用来实现堆排序,可以用来形成查找树,由于其特殊的数据结构,在二叉树中的操作基本都是O(logn)的时间复杂度。下面慢慢细品。       二叉树的数据结构可以用来表示:typedef struct tagTreeNode{

2013-10-29 23:17:32 1562

原创 C++实现工厂模式

工厂模式,想必大家都很熟悉,工厂模式封装了产品的生产,用户无需知道对象是怎么生产出来的,只要给定一个产品名称,就可以得到相应的的产品。在Java和C#中,对用相应的反射机制可以利用,很好的实现了工厂模式。但是在C++没有反射机制,怎么实现呢?下面一一详解。        工厂类中,包含了各种生产者,在语言层面,就是每个类都对应一个生产者,工厂实际是用类名索引到对应的生产者,然后调用生产者生产对

2013-10-29 20:50:50 896

原创 冒泡排序,插入排序,选择排序,希尔排序

在另外的文章中介绍了快速,堆,归并排序,这三个排序都是高效的排序,下面介绍一些时间复杂度为O(n)的排序。        冒泡排序,顾名思义,就是将小的元素往上冒,大的元素往下沉,实际在变成的时候用的是大的元素往下沉的方法。每一趟过后,都有一个最大的元素被沉到底。下一次排序时数组规模减少了1。主要应用到了相邻两个元素互相比较的方法,是一个稳定的排序,但是无论数组是否有序,都要比较n^2次。

2013-10-23 22:00:58 1314

原创 归并排序

合并排序是用分治法来实现的,对于一个需要排序的数组A[0...n-1],合并排序把它一分为二:A[0...n/2 - 1]和A[n/2...n -1],并对每个子数组递归重复以上操作。分得的子数数组,需要用另外的数组保存。对于合并排序,需要两个步骤,第一:对于数组进行分割,如上所述;第二,对于分割长度为1的数组,与相邻被分割数组进行排序,相当于两个有序数组的合并。重复以上操作。对于两个有序数组的合

2013-09-30 23:43:52 632

原创 快速排序

快速排序是一种分治技术的重要排序算法,快速排序按照元素的值对它们进行划分,具体的说,它对给定数组中得元素进行重新排列,以得到一个快速排序的分区,在一个分区中,所有在s下标之前的元素都小于等于A[s],所有在s下标之后的元素都大于等于A[s]。           显然,建立了一个分区后,A[s]已经在位于它的有序数组中的最终位置,接下来我们可以继续对A[s]前和后的子数组分别进

2013-09-27 20:56:41 834

原创 VSS 2005使用

任职的公司一直使用CC作为大型项目管理软件,但是小型的项目,使用的是VSS2005,自己在家里也是用VSS2005作为源码的管理工具,对于VSS2005不是很熟悉,就收集资料并且自己使用,以下是自己的使用心得和总结的东西,希望对各位看官有所帮助,也希望大能能给出意见,大家交流经验!1.安装软件        安装:服务的和客户端直接用:Microsoft Visual SourceSafe

2013-09-25 22:02:06 1274

原创 堆排序

工作一年有余,从事的是嵌入式应用软件开发,处理的数据不复杂,数据量也不大,就是要控制好逻辑,感觉没啥难度,本着明年初要换工作,现在抓紧时间看书,先从数据结构开始,大学学过数据结构,但是老师讲的基本为考试内容,很少说原理性的东西,自己也没认真听。工作后再来回顾,发现以前学的很多东西其实都很简单。废话不说,下面进去主题。       概念性的理解如下:       堆:很形象,类似一个金字塔,

2013-09-22 23:03:15 899

空空如也

空空如也

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

TA关注的人

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