数据结构
stefan1240
这个作者很懒,什么都没留下…
展开
-
八种排序
概述 排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。 我们这里说说八大排序就是内部排序。 当n较大,则应采用时间复杂度为O(nlog2n)的排序方法:快速排序、堆排序或归并排序序。 快速排序:是目前基于比较的内部排序中被认为是最好的方法,转载 2015-04-12 21:11:43 · 705 阅读 · 0 评论 -
编写计算后缀表达式的值时出现内存方面的debug error.
今天在编写一个程序来计算后缀表达式的值中,出现了一个debug error. 如下图所示。 这个大概意思是:检测到向堆内存边缘写入数据不正常。后面慢慢我才找到,原来是我分配内存的时候太小,写入的数据越界了,所以在内存free的时候才出现这个debug. 现在我把我的部分code贴出来,这个运行的时候就会出现以上错误,因为我在压入堆栈的时候只分配了data为一个char内存大小,而我真正压入的原创 2015-05-21 19:52:48 · 766 阅读 · 1 评论 -
快排中partition函数的优化
最近在看算法,发现patition函数可以有个比较简单的写法 ,因此写下来以后用得到: // arr[]为数组,start、end分别为数组第一个元素和最后一个元素的索引 // povitIndex为选取的枢纽下标,关于枢纽下标的选取,wessi的书上有很好的讲解。 int partition(int arr[], int start, int end, int pivotIndex)原创 2015-06-30 16:02:59 · 1043 阅读 · 0 评论 -
链表实现多项式操
最近看了weiss的数据结构,想记录一下自己的代码,这里是一个关于链表实现多项式的相关操作。/**************************************@function:数据结构第三章,链表实现多项式的加减,乘也是类似,只不过还要合并,合并比较麻烦;*@data:2015/5/8*@Author:lss************************************/#原创 2015-05-08 15:53:43 · 875 阅读 · 0 评论 -
hash-table基础以及一些运用例子
最近在复习算法和数据结构 ,这章把hash表的概念和相关题目进行汇总。 0、前言 0.1、哈希表和数组、以及链表的对比: (1).数组的特点:寻址容易,插入和删除困难; 数组存储连续,查找一个元素的时间复杂度为O(1); (2).链表的特点:寻址困难,插入和删除容易。链表存储区是离散的,遍历链表的元素的时间复杂度为O(N)。 (3).hash-table是根据关键值(key-value)来直接进行访问的数据结构,它结合了数组和链表的优点。原创 2015-07-31 17:31:36 · 7869 阅读 · 0 评论