- 博客(23)
- 资源 (64)
- 收藏
- 关注
原创 C指针复习有感
阴雨连绵,不能外出,只好窝在家里看书!看啥呢!想起多年的C语言!想到了C里的指针!忘的差不多了,于是找了些资料看看!发现真忘的差不多了!所以整理下在阅读资料的基础上关于C指针的知识吧!这里权当自己做个笔记了!如果哪位同学搜到了本篇博文,能够获得一点帮助或启迪!那就最好不过了!
2013-08-24 21:01:15 708
原创 Java CollectionFrameWork -- Map
一、java集合框架类之MapMap是一种常见的集合类,存储的元素是几月键值树对的形式即:key-->value ,这种形式的元素对。 Map作为一个接口,定义了如下的通用的方法:public interface Mapint size();//return the number of key-value mappings in this mapboolean isE
2013-09-11 21:02:03 526
原创 程序员面试100题---3.求子数组的最大和
程序员面试100题---3.求子数组的最大和问题描述:输入一个整形数组,数组里有正数也有负数。数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。求所有子数组的和的最大值。要求时间复杂度为O(n)。例如输入的数组为1, -2, 3, 10, -4, 7, 2, -5,和最大的子数组为3, 10,-4, 7, 2,因此输出为该子数组的和18。问题分析:
2013-08-30 20:05:21 572
原创 程序员面试100题---4.在二元树中找出和为某一值的所有路径(树)
4.在二元树中找出和为某一值的所有路径(树)输入一个整数和一棵二元树。从树的根结点开始往下访问一直到叶结点所经过的所有结点形成一条路径。打印出和与输入整数相等的所有路径。例如输入整数22和如下二元树 10 / / 5 12 / / 4 7则打印出两条路径:10, 12和10, 5, 7。-------------
2013-08-30 20:02:22 555
原创 程序员面试100题---5.查找最小的k个元素
5.查找最小的k个元素(数组) 题目:输入n个整数,输出其中最小的k个。 例如输入1,2,3,4,5,6,7和8这8个数字,则最小的4个数字为1,2,3和4。分析:此题可以通过构造一个含有K个元素的最大堆来实现。然后通过不断的和堆顶元素比较,来找出最小的k个数。-----------------------------------------------------------------
2013-08-30 20:01:31 645
原创 Jdk源码阅读之Java.util.concurrent
Jdk源码阅读之Java.util.concurrent,首先,简单的介绍下这个小工具包集合 java.util.concurrent 是在并发编程中很常用的实用工具类。此包包括了几个小的、已标准化的可扩展框架,以及一些提供有用功能的类,没有这些类,这些功能会很难实现或实现起来冗长乏味。 一、执行程序 接口Executor是一个简单的标准化接口,用于定义类似于线程的自
2013-08-29 22:35:30 690
原创 程序员面试100题---2.设计包含 min 函数的栈
-----------------------------------------------------------------------------------2、如题 ,设计包含min函数的栈 首先给大家介绍下栈的概念,栈也是一种线性表,和顺序表类似,只不过栈是一种插入和删除元素只能在头部进行的特殊线性表,元素的操作顺序是:后进先出(LIFO)。 栈的实现方式有
2013-08-27 16:09:12 849
原创 程序员面试100题---1.把二元查找树转变成排序的双向链表
1.把二元查找树转变成排序的双向链表输入:一颗二元查找树,将该二元查找树转换成一个排序的双向链表,要求不能创建任何新的结点,只能调整指针的方向。在这里要明白几个概念什么是二元查找数: 它首先要是一棵二元树,在这基础上它或者是一棵空树;或者是具有下列性质的二元树: (1)若左子树不空,则左子树上所有结点的值均小于它的根结点的值; (2)若右子树不空,则右子树上所有结点的值均大于它的根
2013-08-27 09:49:45 790
转载 常见的压力面试题及面试技巧有哪些?
本文转载字:http://jingyan.baidu.com/article/90bc8fc8258ed5f653640c92.html常见的压力面试题及面试技巧有哪些?面对考官的压力面试题目,你准备用什么心态对面对?你有压力面试的面试技巧吗?这里列举一些常见的压力面试题及面试技巧,供大家参考。步骤/方法 1你最大的缺点是什么?
2013-08-27 08:30:40 1297
翻译 BitHacks--位操作技巧
--------------------------------------------------------------------------------------------------------------------------------------------------------------本博文,介绍了10种位运算操作的小技巧!希望能够对你有所帮助!
2013-08-26 22:06:18 1871
原创 基本数据结构之AVL树-简单实现
一、AVL 简介 AVL树是一种平衡的BST,关于BST,参看另一篇博文 AVL树的平衡因子的计算公式为:factor = height(lchild) - height(rchild); 在AVL树中,每个结点的平衡因子不超过1。在实际应用中,尽管结点的平衡因子能够通过它的子树计算出来,但是结点的平衡因子一般是存储在结点信息中的。 在一颗包含N个结点的AV
2013-08-26 11:08:09 698
原创 基本数据结构之Binary Search Tree
一、二叉查找树的实现(C)1)二叉查找树的结点结构 typedef struct node{ int data; struct node* lchild; struct node* rchild;} BSTnode;2)创建一个新结点BSTnode* create_node(int data){ BSTnode *new_no
2013-08-26 09:50:59 831
原创 基本数据结构之AVL树
AVL树即自平衡二叉查找树。在AVL树中,任何两个结点的两个子树的高度最大差别为1,所以AVL树也被称为高度平衡树。AVL树在插入和删除和查找的时间复杂度在平均和最坏情况下都是O(log N),插入和删除需要通过1次或者多次旋转重新使树达到平衡。怎么判断AVL树是平衡的呢?需要通过平衡因子来来判断,结点的平衡因子是是它的左子树高度减去右子树高度.平衡因子为1、0、-1的结点是平衡的。反之,
2013-08-25 15:29:06 635
原创 经典排序之插入排序
一、插入排序 它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上,通常采用in-place排序(即只需用到O(1)的额外空间的排序),因而在从后向前扫描过程中,需要反复把已排序元素逐步向后挪位,为最新元素提供插入空间。 插入排序的算法描述:从第一个元素开始,该元素可以认为已经被排序取出下一
2013-08-25 07:47:52 445
原创 查找算法之二分查找
正确的二分查找程序!int search (int array[], int n, int v){ int left,right,middle; left = 0; right = n - 1; while(left <= right) { middle = (left +right)/2;
2013-08-24 21:22:50 470
原创 基本数据结构之二叉树
1、二叉树二叉树,顾名思义,有两个树杈,说的更书面一些,有两颗子树,称为左子树和右子树,左子树和右子树分别是二叉树,二叉树是递归定义的,所以二叉树的一些操作都可以用递归的方式来解决。下面介绍下根据二叉树的定义推出的一些二叉树的基本性质:1)每个结点至多只有二棵子树(不存在度大于2的结点),二叉树的子树有左右之分,次序不能颠倒。2)二叉树的第i层至多有个 结点3)对任
2013-08-24 12:08:17 823
原创 基本数据结构之队列
一、基本数据结构之队列 队列作为计算机系统一种非常常见的数据结构被大家所熟知。同堆栈一样,队列也是有插入和删除只能在限定段的线性表。 队列是一种FIFO(First In First Out)的线性表。具体通常用链表或数组来实现。队列只允许在后端(rear)进行插入操作,在前段(front)进行删除操作。 队列的操作方式和堆栈类似,唯一的区别
2013-08-24 09:36:09 744
原创 基本数据结构之堆栈
一、基本数据结构之堆栈 堆栈定义:堆栈,也可以直接称为栈。在计算机科学中,是一种特殊的串行形式的数据结构,它的特殊之处在于只允许在在链接串行或阵列的一端(称为栈顶端,top)进行插入(push),和输出(pop)的运算。‘ 因为堆栈只允许在一段进行操作,因此会按照LIFO(Last In First Out)的原理运作。 堆栈数据结构使用两种基本的运
2013-08-23 21:02:03 856
原创 基本数据结构之线性表-链表
1、基本数据结构之线性表-链表1.1 单链表 是链表的一种,其特点是链表的链接方向是单向的,对链表的访问要通过顺序读取从头部开始。 单链表的存储结构示意图: 1.1.1 动态单链表 动态单链表的数据结构可以分成两部分:数据域和指针域,数据域存储数据,指针域指向下一个存储结点的地址。
2013-08-23 20:37:39 879
原创 基本数据结构之线性表-顺序表
数据结构有线性结构和非线性结构之分,本数据结构系列将从线性结构讲到非线性结构,并对这些数据结构进行精简实现(C/C++)。1、线性结构之线性表 线性表是这样一种结构,它包含n(n>=0)个数据元素,每个数据元素成为线性表的结点;其中a[0],a[1],a[2]......,a[n-1]组成的有限序列。数据元素的个数n称为线性表的长度 = list.length(),当长度
2013-08-23 20:14:22 565
原创 基本排序之冒泡排序
这是整个排序系列的第一篇博文,之所以选择冒泡排序,是因为大家在学习数据结构课程的时候,最先接触而且能够记住的也就冒泡排序了!好了,废话不多说!冒泡排序开始!冒泡排序是一种简单的排序算法,它通过两次遍历待排序列来使序列有序。下面通过通过本人的理解来分析这两次遍历!1、外循环执行次数和序列的长度相同,因为需要依次选择出最大数,次最大数.....最小数。2、内循环一个循环体执行i
2013-08-21 21:18:06 546
C++程序设计技巧
2013-08-27
C++语言的设计和演化
2013-08-27
Imperfect C++
2013-08-27
VISUAL C++MFC扩展编程实例
2013-08-27
VISUAL C++MFC编程实例
2013-08-27
基本排序算法C语言实现
2013-08-26
C++必知必会
2013-08-25
大规模C++程序设计A B
2013-08-25
Effective and More Effective C++
2013-08-25
Accelerated C++
2013-08-25
nginx-upstream-jvm-route-0.1.tar.gz
2013-08-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人