![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构与算法
文章平均质量分 78
小逸
这个作者很懒,什么都没留下…
展开
-
【数据结构与算法】——排序算法篇
由于研究生考试的需要,加上我对算法的情有独钟,这段时间一直在研究算法。跟大家分享一些我的经验和想法:一、欢迎大家批评指正我错误的地方;二、欢迎大家补偿自己的见解进来,我如果发现有独到见解的评论,我会编辑添加到文章中来,并注明。希望给大家带来好的知识分享! 为什么我们需要排序?存放数据就像我们在日常生活中存放东西一样,时不时需要整理一下,你下次拿东西的时候才方便。如果你的东西是一堆乱麻,你原创 2011-08-09 19:25:56 · 8603 阅读 · 4 评论 -
【数据结构与算法】——链表篇
链表属于线性结构之一,主要功能是提供可动态扩展的线性结构,可使用不连续的的内存空间,为程序的动态特性提供支持。逻辑结构如下(图片引用自CSDN博客) 一般的定义如下/*The Data Structure of Link List*/typedef int DataType;typedef struct LinkNode { DataType原创 2012-01-16 15:49:41 · 4205 阅读 · 0 评论 -
【数据结构与算法】——字符串匹配篇
字符匹配算法是字符处理的一种基本操作,大致可分为【常规匹配算法】和【KMP算法】【常规字符匹配算法】如下:int index(char* s,char* t,int pos){ int i = pos; int j = 1; while( i<strlen(s) && j< strlen(t)) { if( s[i] == t[j] ) { ++原创 2011-08-27 23:47:19 · 3654 阅读 · 0 评论 -
【数据结构与算法】左偏树(堆)的实现
左偏树,也可以称之为左式堆。称其为树,是因为其存储结构通常采用二叉树,所以可以认为是一种特殊的二叉树。称其为堆,是因为在逻辑结构上,它属于可合并堆的一种。其实数据结构中最欣欣向荣的两个分支就是:平衡树 和可合并堆。高级树结构的核心都是围绕如何使树到达平衡而展开,高级堆结构的核心就是如何有效地进行合并。 这里先介绍可合并堆中一种十分好用的数据结构:左式堆。人们熟悉或者常听说的堆主要原创 2012-02-10 10:26:31 · 7742 阅读 · 1 评论 -
【数据结构与算法】二叉堆
核心操作是sift_up,和sift_down,其他所有操作都是建立在这两个核心操作的基础上的,事实上所有的堆结构都可以使用这两个操作。const int maxsize = 10001;int size = 0;int min_heap[maxsize];/*0号单元不使用,因为如果使用0单元,则k/2无法找到其父结点*/void sift_up(int k)//从第k个位置原创 2012-02-24 20:52:54 · 825 阅读 · 0 评论