数据结构和算法
FreeTourW
这个作者很懒,什么都没留下…
展开
-
二分查找算法
二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。因此,折半查找方法适用于不经常变动而查找频繁的有序列表。下面介绍四种实现方式一、非模板非递归:二、非模板递归:三、模板非递归:四、模板递归:转载 2016-09-17 22:19:23 · 319 阅读 · 0 评论 -
堆和栈的区别
a.堆栈空间分配区别: 栈:由操作系统自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈,先进后出。 堆:一般由开发人员分配释放,若开发人员不释放,程序结束时由系统回收,分配方式类似于链表,堆区用来开辟的空间和回收空间的操作分别是malloc和free。b.内存分配和读取效率区别: 栈:栈由系统自动分配,速度快,但是程序员无法控制。 堆:堆是由程序员自己分配,速度原创 2016-09-17 22:27:07 · 465 阅读 · 0 评论 -
数据结构和算法系列之 二叉树
数据结构和算法系列14 二叉树歇了几天了,没有写博客。从今天开始要总结树和二叉树了。那么什么是树呢?1,树的定义:1)有且仅有一个特定的称为根Root的结点。2)当n>1时,其余结点可分为m(m>0)个互不相交的有限集,其中每个集合本身又是一个棵树,并称为根的子树。2,树的表示方法:最常见的是树形表示法和广义表表示法,下面是树形表示法,如图所示。上图的广义表转载 2016-12-06 21:10:53 · 360 阅读 · 0 评论 -
数据结构和算法系列之 队列
阅读目录1,什么是队列2,队列的存储结构3,队列的常见操作及实现代码上一篇讲了栈,这一篇要总结的是我们常用的队列,我想从以下几个方面进行总结。1,什么是队列? 2,队列的存储结构? 3,队列的常用操作及实现代码?回到顶部1,什么是队列1,首先,队列也是一种特殊的线性表,它是一种操作受限的线性表。它只允许在表的一端进行元素插入,而在另一端进行元素删除。允许插入转载 2016-12-06 21:17:41 · 609 阅读 · 0 评论 -
数据结构和算法系列之 栈
阅读目录1,什么是栈2,栈的存储结构3,栈的常见操作及实现代码上一篇总结完了线性表之链表,这一篇文章我们要总结的是栈,我想从以下几个方面来进行总结。1,什么是栈? 2,栈的存储结构? 3,栈的常见操作及代码实现?回到顶部1,什么是栈首先栈是一种特殊的线性表。那它的特殊性表现在哪里呢?栈是限定在表的一端进行插入和删除运算的线性表,因此,栈也称为后进先出(LIF转载 2016-12-06 21:19:52 · 281 阅读 · 0 评论 -
数据结构和算法系列之 五大查找之哈希查找
数据结构和算法系列13 五大查找之哈希查找这一篇要总结的是五天查找的最后一篇,哈希查找,也称为散列查找(本文以哈希称呼)。提起哈希,我的第一印象就是C#中的Hashtable类,它是由一组key/value的键值对组成的集合,它就是应用了散列技术。那么,什么是哈希查找呢?在弄清楚什么是哈希查找之前,我们要弄清楚哈希技术,哈希技术是在记录的存储位置和记录的关键字之间建立一个确定的对应转载 2016-12-06 21:22:54 · 631 阅读 · 0 评论 -
数据结构学习之单向链表结构
注:本文的主要目的是为了记录自己的学习过程,也方便与大家做交流。转载请注明来自: http://blog.csdn.net/ab198604/最近突然间觉得应该补补IT技术的基础的知识,因为对这些基础知识的梳理不仅可以对自己所掌握的知识进一步巩固,无论是提高自身的技术水平方面还是从后期就业方面,都是大有裨益的,所以还是要打好基础,一步一个脚印才行,总之,知识需要有时间的积累。从前自己并转载 2016-12-06 21:25:51 · 1149 阅读 · 0 评论 -
系统学习hash算法(哈希算法)
系统学习hash算法(哈希算法)转载请说明出处。前言:关于本文《系统学习hash算法》的由来。在看到了《十一、从头到尾彻底解析Hash 表算法》这篇文章之后,原文中没有暴雪hash快的原因分析以及和别的hash方法比能快多少,结合自己以前研究MonetDB的数据库时也涉及到了hash join的相关内容,于是决定实现一个简单的hash和暴雪hash比较下,但在搜索资料时发现了《字符转载 2016-12-06 21:28:39 · 3245 阅读 · 1 评论