![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
DataStructure
文章平均质量分 70
deep_explore
本人从2010年开始从事苹果应用的开发,长期从事ios和Mac应用程序的开发,包括越狱非越狱应用的开发, 曾独立开发过多款上线应用。
展开
-
数据结构学习笔记(1)算法分析
<br /> 1 类Pascal:<br /> 2 <br /> 3 //过程<br /> 4 PROC PROC_name();<br /> 5 语句组<br /> 6 ENDP;{PROC_name}<br /> 7 <br /> 8 //函数<br /> 9 FUNC FUNC_name():datatype;<br /> 10 语句组<br /> 11 RETURN(f)<br原创 2011-01-02 15:08:00 · 353 阅读 · 0 评论 -
并集-查找算法
<br />I.快速查找算法:<br />========================quick_find.c=================================<br />#include<stdio.h><br />#define N 10<br />int main(){<br /> int id[N];<br /> int i, p, q, t, count, sum = 0;<br /> for(i = 0; i < N; i++) id[i] = i;<br /> while原创 2011-03-18 11:53:00 · 2550 阅读 · 0 评论 -
复数数据类型算法分析
<br />复数的引入的一个动力之一:得到方程的解。<br />复平面:。<br />共轭复数对:。<br />C语言定义复数类型:<br /> typedef struct { <br /> long double rmz; <br /> long double imz; <br /> }complex;<br /> void complex_add(complex z1, complex z2, complex *z);//加法z=z1+z2<br /> void complex_dec(compl原创 2011-03-17 10:04:00 · 983 阅读 · 0 评论 -
将一个多项式的系数表示转换成点表示算法分析
<br />系数表示法:储存一个多项式的系数。<br />点表示法:n-1阶多项式,储存不同阶的值。<br />算法一:将一个多项式的系数表示法转换成点表示法(复数)。<br />这个算法是一个很难理解的算法,这里姑且不去理解它的细节,只去利用它的结果。下面是C代码:<br />===============c2p.h========================<br />/*<br /> *将一个多项式的系数表示法转换成点表示法。<br /> */<br />#include<math.h><br /原创 2011-03-17 10:02:00 · 4016 阅读 · 0 评论 -
数据结构栈和队列的数组实现和链表实现的4个头文件(完全个人思路)
<br />最近写了4个头文件,并且在ubuntu10.10下用测试函数测试成功,记录如下<br />//数组栈头文件a_stack.h<br />#define STACK_SIZE 100<br />#define STACK_TYPE int<br />typedef struct{<br /> STACK_TYPE data[STACK_SIZE];<br /> int top_element;<br />}*stack,st;<br />stack s;<br />void init原创 2011-02-22 19:39:00 · 662 阅读 · 0 评论 -
数据结构学习笔记(4)线性表-应用 一元多项式
<br /> 1 一元多项式的表示:<br /> 2 pn(x) = p0+p1x+p2x^2+...+pnx^n<br /> 3 P=(p0,p1,p2,...,pn)<br /> 4 当有很多系数是0的时候,效率很低。<br /> 5 一般情况下,<br /> 6 Pn(x)=p1x^e1+..<br /> 7 ((p1,e1),...)<br /> 8 一元多项式:ADT,可以定义好多操原创 2011-01-07 08:55:00 · 667 阅读 · 0 评论 -
数据结构学习笔记(4)线性表-链式映像
<br /> 1 线性表的链式结构:<br /> 2 typedef struct LNode{<br /> 3 ElemType data;<br /> 4 struct LNode *next;<br /> 5 }LNode, *LinkList;<br /> 6 <br /> 7 //取链表中第i个元素<br /> 8 status getNode_L(LinkList L, int pos,原创 2011-01-06 17:41:00 · 705 阅读 · 0 评论 -
数据结构学习笔记(2)线性表
<br /> 1 ================<br /> 2 线性表及其基本运算:<br /> 3 1。线性表(linear_list),n个数据元素的有限序列,记为:L=(a1, a2, ..., an)。<br /> 4 定义:linear_list=(D,R)<br /> 5 D={ai|ai ∈ D0, i=1,2,...,n, n>=0} D0表示相同的数据对象。<br /> 6 R=原创 2011-01-06 12:43:00 · 457 阅读 · 0 评论 -
数据结构学习笔记(3)线性表-顺序映像
<br /> 1 顺序储存结构-物理结构<br /> 2 <br /> 3 线性表顺序储存结构的定义为:<br /> 4 #define LIST_INIT_SIZE 80 //线性表储存空间的初始分配量<br /> 5 #define LISTINCREMENT 10 //线性表储存空间的分配增量<br /> 6 typedef struct {<br /> 7 ElemType *原创 2011-01-06 15:53:00 · 1107 阅读 · 0 评论 -
连通性问题的4个解决方案
问题:一个含有N整数的序列,它们相互独立。现在要输入若干整数对,每输入一个整数对,表示将该两个整数连。当输入某一个整数对时,如果根据已有的连通情况,判断该对是连通的,那么就继续输入下一对。否则将该对打印出来,表示产生一个新的并集。请编写这样的一个C算法。分析:我们用数组的引索表示这N个数 id[N]。其实这里的引索表示的是内存的不同位置。这样就把问题转换为内存位置的连通性问题。可以用内存位置的值相等来表示这两个位置是连通的。这样就有下面的算法: while(scanf("%d %d/n", &p, &原创 2011-05-29 22:10:00 · 919 阅读 · 0 评论