
数据结构和算法
ylwdi
这个作者很懒,什么都没留下…
展开
-
求后缀式(逆波兰式)的步骤
原表达式:a*(b*(c+d/e)-f)# /* # 为表达式结束符号*/后缀式:abcde/+*f-x#为运算符定义优先级:# ( + - * / ** -1 0 1 1 2 2 3从原表达式求后缀式的规则为:1.设定运算符栈2.假设表达式的结束符为"#",我们需要预设运算符栈底元素为转载 2010-01-13 02:05:00 · 4492 阅读 · 1 评论 -
哈希表 理论结合代码
关键字:x,x也可以叫做查找方式哈希值:y, y也可以叫做哈希表最终索引值哈希表:hash_arr,是一个数组,大小根据实际需要衡量。查找目标:resulty = hash_fun(x); //通过哈希函数的规则返回一个索引值result = hash arr[y]; //这就是查找到的目标值 例如利用学生姓名来查找某个学生的信息。。。。。自然关键字就是学生姓名了,原创 2013-09-29 17:52:57 · 605 阅读 · 0 评论 -
哈希表的剖析
哈希表是种数据结构,它可以提供快速的插入操作和查找操作。第一次接触哈希表时,它的优点多得让人难以置信。不论哈希表中有多少数据,插入和删除(有时包括侧除)只需要接近常量的时间即0(1)的时间级。实际上,这只需要几条机器指令。 对哈希表的使用者一一人来说,这是一瞬间的事。哈希表运算得非常快,在计算机程序中,如果需要在一秒种内查找上千条记录通常使用哈希表(例如拼写检查器)哈希表的速度明显比树快,树转载 2013-09-29 17:15:54 · 562 阅读 · 0 评论 -
快速排序算法
/**************************************************//* 函数功能:快速排序算法 *//* 函数参数:结构类型table的指针变量tab *//* 整型变量left和right左右边界的下标 *//* 函数返回值:空转载 2013-09-23 22:50:40 · 486 阅读 · 0 评论 -
堆排序的简要概述
实际就是把一个数列看成是一颗完全二叉树,首先记住n/2是最后一个非叶节点。 1、然后从最后一个非叶节点开始调整,有两种方法:大顶堆法(就是一趟调整后根节点为最大)、小顶堆法(就是一趟调整后根节点为最小); 2、拿这个最大的(最小的)根节点a[0]和数组a[n-1]最后一个元素交换,这样最后一个元素就是最大,然后以此类推继续执行堆调整(步骤1)和交换(步骤2),一原创 2013-01-27 03:03:22 · 372 阅读 · 0 评论 -
常用数据结构以及算法
二叉树 http://blog.youkuaiyun.com/flyinghearts/article/details/7303731常用算法数据结构收录:http://blog.youkuaiyun.com/feixiaoxing/article/details/6993718牛人算法收录:http://www.cnblogs.com/huangxincheng/category/340146.html转载 2012-02-29 14:47:39 · 371 阅读 · 0 评论 -
经典结构、算法、微软、谷歌面试题
参考: http://blog.youkuaiyun.com/v_july_v/article/details/6015165 参考:http://zhedahht.blog.163.com/转载 2012-03-19 16:57:35 · 497 阅读 · 0 评论 -
算法的核心是区分复杂度,选用最适合当前的算法
1、算法的概念:算法 (Algorithm),是对特定问题求解步骤的一种描述。解决一个问题往往有不止一种方法,算法也是如此。那么解决特定问题的多个算法之间如何衡量它们的优劣呢?有如下的指标:2、衡量算法的指标:(1)时间复杂度:执行这个算法需要消耗多少时间。(2)空间复杂度:这个算法需要占用多少内存空间。 同一个问题可以用不同的算法解决,而一个算法的优劣将影响到算法乃至程...转载 2018-09-21 12:30:29 · 911 阅读 · 0 评论