算法与数据结构
ZiQingFeng
这个作者很懒,什么都没留下…
展开
-
关于结构体成员变量初始化的一些资料
今天来讨论一下C中的内存管理。记得上周在饭桌上和同事讨论C语言的崛起时,讲到了内存管理方面我说所有指针使用前都必须初始化,结构体中的成员指针也是一样有人反驳说,不是吧,以前做二叉树算法时,他的左右孩子指针使用时难道有初始化吗那时我不知怎么的想不出理由,虽然我还是坚信要初始化的过了几天这位同事说他试了一下,结构体中的成员指针不经过初始化是可以用(左子树和右子树指针)那原创 2014-03-30 21:37:22 · 3253 阅读 · 1 评论 -
堆和栈的区别
在计算机领域,堆栈是一个不容忽视的概念,我们编写的C语言程序基本上都要用到。但对于很多的初学着来说,堆栈是一个很模糊的概念。堆栈:一种数据结构、一个在程序运行时用于存放的地方,这可能是很多初学者的认识,因为我曾经就是这么想的和汇编语言中的堆栈一词混为一谈。我身边的一些编程的朋友以及在网上看帖遇到的朋友中有好多也说不清堆栈,所以我想有必要给大家分享一下我对堆栈的看法,有说的不对的地方请朋友们不吝赐教原创 2014-04-07 12:40:43 · 888 阅读 · 0 评论 -
判断两个链表是否相交
找了好几篇文章,就这一篇质量比较高,分析的比较透彻整体思路:1.首先假定链表不带环那么,我们只要判断俩个链表的尾指针是否相等。相等,则链表相交;否则,链表不相交。2.如果链表带环,那判断一链表上俩指针相遇的那个节点,在不在另一条链表上。如果在,则相交,如果不在,则不相交。所以,事实上,这个问题就转化成了:1.先判断带不带环2.如果都不带环原创 2014-03-26 22:35:43 · 1135 阅读 · 0 评论 -
约瑟夫环问题
题目:n个数字(0,1,…,n-1)形成一个圆圈,从数字0开始,每次从这个圆圈中删除第m个数字(第一个为当前数字本身,第二个为当前数字的下一个数字)。当一个数字删除后,从被删除数字的下一个继续删除第m个数字。求出在这个圆圈中剩下的最后一个数字。 分析:既然题目有一个数字圆圈,很自然的想法是我们用一个数据结构来模拟这个圆圈。在常用的数据结构中,我们很容易想到用环形列表。我们可以创建一个总原创 2014-04-08 10:13:33 · 894 阅读 · 0 评论 -
c++中vector的一点介绍
今天做第2题的时候,用到了这个vector,不是很熟悉,搜索了一下:vector是C++标准模板库中的部分内容,它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库。vector之所以被认为是一个容器,是因为它能够像容器一样存放各种类型的对象,简单地说,vector是一个能够存放任意类型的动态数组,能够增加和压缩数据。具体的函数不再赘述,网上的资料很多。原创 2014-03-26 15:59:43 · 780 阅读 · 0 评论 -
海里数据处理面试题中的一些概念介绍
今天下午阅读了《十道海量数据处理面试题与十个方法大总结》一文,具体内容不再赘述。只是将其中几个不太熟悉的知识点整理一下。1、Bitmap算法所谓的Bit-map就是用一个bit位来标记某个元素对应的Value, 而Key即是该元素。由于采用了Bit为单位来存储数据,因此在存储空间方面,可以大大节省。如果说了这么多还没明白什么是Bit-map,那么我们来看一个具体的例子,假设原创 2014-03-25 23:05:03 · 1211 阅读 · 0 评论 -
2014腾讯实习笔试题——优先队列
2014腾讯实习笔试题第二题是关于优先队列的,不是很熟悉,查阅了一下资料,总结一下:优先队列是基于堆(二叉堆)实现的,每当加入(push)一个新元素时,会根据优先级,将优先级最大(或最小)的元素按照堆排序(大顶堆,小顶堆)的方式放到堆顶。如此的话,返回的堆顶元素(top)即优先级最高(或最小)的元素。当然,在pop()操作之后,仍然要进行堆排序,调整元素位置原创 2014-04-18 11:04:32 · 1696 阅读 · 0 评论 -
创建二叉树方法大总结
在做算法题的时候,经常需要创建二叉树做测试,包括字符型,整型,查找二叉树,方法也很多。但是由于从键盘读取数据时,总是读取回车字符,导致出错。所以把这几种方法总结一下放到这里原创 2014-04-15 21:52:49 · 1353 阅读 · 0 评论 -
求m*n矩阵中最大的子矩阵(元素和最大)
注意此处是求子矩阵的最大值,不是2维子矩阵的最大值,2维子矩阵原创 2014-04-15 15:01:48 · 7553 阅读 · 0 评论 -
实现一个生产者消费者队列
题目:实现一个队列。 队列的应用场景为: 一个生产者线程将int类型的数入列,一个消费者线程将int类型的数出列 。先做一个线程同步概述:原创 2014-04-15 10:09:25 · 3761 阅读 · 0 评论 -
输入整数n,计算从1到n这n个整数的十进制表示中1出现的次数和
此题有二种解法,第一种比较传统,时间复杂度太高,不探讨。第二种方法原创 2014-04-11 13:21:26 · 1638 阅读 · 0 评论