算法
iamlijiangtao
这个作者很懒,什么都没留下…
展开
-
顺序表 的算法 ——重要的是学习方法,养成思考顺序,简单可操作性强
#include using namespace std;/************************************************************************//* 数据结构学习方法:记住数据结构——所有的操作都是围绕数据结构进行的。不同的结构又不同的操作,结构决定操作。动手写算法。——写算法的步骤:(必须先搞清数据原创 2010-03-23 16:21:00 · 875 阅读 · 1 评论 -
二叉树的非递归遍历
/*总结:对于树的操作,最简单最直接的方式就是 递归。因为树本身就是一个典型的递归定义。当不要求速度时,尽量用递归,比较省时,省去调试时间。对于二叉树的非递归算法,最重要的是算法的思想。就是上文代码中的注释部分。代码其实是注释的直接翻译。思想最重要。思想不清,编译调试将耗费大量时间,算法就很难写出来。*/// test.c原创 2010-04-28 16:25:00 · 637 阅读 · 0 评论 -
typedef struct 出现的错误
typedef struct { Elemtype data; tNode* left; tNode* right;}tNode,*pNode,*pTree;出现以下错误:error C2143: syntax error : missing ; before *error C2501: tNode : missing storage-class原创 2010-04-27 14:17:00 · 2746 阅读 · 0 评论 -
十字链表 稀疏矩阵的数据结构
#include using namespace std;/*稀疏矩阵十字链表 的数据结构*///稀疏矩阵 十字链表元素结构typedef struct ELEM { //三元组 int row; int col; int item; //指针 ELEM* right; ELEM* down;}ELEMENT;typed原创 2010-04-05 21:24:00 · 907 阅读 · 0 评论 -
写算法的方法
写算法步骤:(以下方法,都是老生常谈。但是非常简单有用。) 数据结构 (所有的算法都是基于数据结构的操作。所有算法都是针对数据结构的属性进行操作。列出所有的属性,写算法逐项修改、操作。) 自然语言描述算法,也就是注释(自然语言可以快速描述整个算法的轮廓,对算法有指导意义) 写代码(先对 参数列表中参数进行合法性检查。参数合法是操作的前提)(对数据结构中属原创 2010-04-05 14:55:00 · 2144 阅读 · 0 评论 -
链栈
#includeusing namespace std;/*本节学习链表栈。 栈是一种操作受限制线性表,即操作后进先出的。栈的逻辑结构是线性表,而存储结构分顺序存储和链式存储,分别命名为 顺序栈和链表栈。所谓链表栈就是用链表结构存储的栈。 注意:链栈主要是插入与删除操作,把栈顶设置在表头,操作更加方便。链栈*//*定义数据结构 */#def原创 2010-04-05 14:40:00 · 496 阅读 · 0 评论 -
稀疏矩阵 三元组顺序表
#include using namespace std;/*所有的算法都是基于数据结构的,所以必须明确数据结构是如何设计的*/#define ELEMTYPE inttypedef struct { int row; int col; ELEMTYPE item; }ELEM;typedef struct { ELEM *d原创 2010-04-05 20:44:00 · 2448 阅读 · 0 评论 -
数组 算法没有插入删除,只有存取和修改
#include using namespace std;/*数组逻辑结构:数组中元素本身就是 一种数据结构,可以帮二维数组当成 线性表的线性表。存储结构: 由于数组是固定的格式和数量的数据结合,不能做插入和删除的操作,只做存取和修改的操作,所以我们选择顺序存储结构。因为顺序存储结构在存取和修改时速度快(链式结构,在插入删除方面比较快)*//*数组的原创 2010-04-05 14:28:00 · 1430 阅读 · 0 评论 -
链栈
#includeusing namespace std;/*本节学习链表栈。 栈是一种操作受限制线性表,即操作后进先出的。栈的逻辑结构是线性表,而存储结构分顺序存储和链式存储,分别命名为 顺序栈和链表栈。所谓链表栈就是用链表结构存储的栈。 注意:链栈主要是插入与删除操作,把栈顶设置在表头,操作更加方便。链栈*//*定义数据结构 */#def原创 2010-03-30 15:56:00 · 1102 阅读 · 0 评论 -
栈 ——概念解释, 数据结构和算法
#include using namespace std;/*本节学习 一种特殊的线性表——栈。以前学习的顺序表和单链表都是很随意的,但栈不同,它要求插入删除只在栈顶进行——这就是栈的特点。既然只能在栈顶操作,所以在输出元素时就有 “先进后出”的特点。总之一句话,栈就是操作受到限制的线性表——只在栈顶插入删除。*//*定义栈 的数据结构 ,所原创 2010-03-29 21:21:00 · 473 阅读 · 0 评论 -
单链表
#includeusing namespace std;/*学习算法主要是掌握学习方法。学习步骤:记清数据结构——因为所有的算法都是基于数据元素+结构的操作。写算法时,先用自然语言注释函数,并写清步骤。然后再翻译成程序语言。最后,对算法进行简要的复杂度分析。 养成这种学习算法的习惯,对算法的理解和书写将有很大帮助,长远来看,省时和高效。*/#d原创 2010-03-28 22:03:00 · 337 阅读 · 0 评论 -
K-means 方法概括
K- means 就是把空间内点,分成K类。相似的点比较聚集,不相似的点比较偏离。用均值来代表类中心,并用于衡量与新点的距离。初始值:根据先验知识找到K 个均值,做迭代初始值。迭代公式:根据距离,判断新点的分类由于新点的加入,调整相应的类中心迭代终止条件:类中心不再摆动,或者摆动幅度很小,趋于稳定。Fuzzy K-means在k-means的基础上,引入原创 2010-04-05 14:42:00 · 853 阅读 · 0 评论