![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构与算法
文章平均质量分 82
RannieR
喜欢C语言Objective-C和Java.热爱iOS开发的青年军.最近在研究Swift和计算机系统.
展开
-
算法与数据结构(一)
一 时间复杂度 大O阶的推导方法: 1. 用1取代加法常数 2. 保留最高阶项 3.去除最高阶项的系数 常用的时间复杂度所耗费的时间从小到大: O(1) 二 线性表顺序存储结构 定义: 指用一段地址连续的存储单元一次存储线性表的数据元素 #define MAXSIZE 20 typedef int ElemTyp原创 2013-07-04 23:11:19 · 1393 阅读 · 0 评论 -
数据结构——单链表
定义 n个节点链结成一个链表,即为线性表的链式存储结构,因为此链表中的每个结点中只包含一个指针域,所以叫单链表。 头指针与头结点 头指针: a.指向第一个结点的指针,若有头结点,则指向头结点 b.头指针带有标识作用,常以头指针冠以链表的名字 c.无论链表是否为空,头指针均不为空。是链表的必要元素 头结点: a.为了操作统一和方便而设立,放在第一个元素原创 2013-07-07 00:09:45 · 2088 阅读 · 1 评论 -
数据结构——栈
定义 限定仅在表尾进行插入和删除操作的线性表。(先入后出) 顺序结构 C定义 #define MAXSIZE 20 #pragma mark 顺序栈 typedef int SElemType; typedef struct { SElemType data[MAXSIZE]; int top; }SqStack; 压栈操作 int Pu原创 2013-07-23 00:15:28 · 1587 阅读 · 2 评论 -
数据结构——静态链表
定义 用游标实现法描述的链表叫做静态链表 C定义: #define MAX_SIZE 1000 typedef struct { ElemType data; int cur; }Component,StaticLinkList[MAX_SIZE]; 插入和删除操作 一些相关方法: //初始化 int initList(StaticLinkList原创 2013-07-12 22:15:27 · 1390 阅读 · 0 评论 -
数据结构——队列
概述 队列:只允许在一段进行插入删除操作,而在另一端进行删除操作的线性表。 队列是一种先进先出(FIFO)的线性表,允许插入的一端为队尾,允许插入的一端为队头。 循环队列 头尾相接的顺序存储结构为循环队列。 为防止溢出,通常保留一个空闲单元在队满时。 队满的条件: (队尾 + 1) %队列长度 = 队头 通用的队长值为: (队尾 - 队头 + 队列原创 2013-07-30 21:27:42 · 2436 阅读 · 0 评论 -
算法——素数判定方法
原始版素数表 最初刚接触算法的时候,使用了原始的方法来输出素数表: void originalPrime() { long p, d, input; int isPrime; printf("input a number:"); scanf("%li", &input); for (p = 2; p <= input;原创 2013-07-27 01:41:15 · 1287 阅读 · 0 评论 -
常见的排序算法
最近由于手上有两个项目要写,没有时间构思和写博客= =。 最近属于校招季,计算机原理,算法和数据结构,c语言基础属于最重要的。这里把常考到的常用排序算法简单汇总了下。 包括冒泡排序,简单选择排序,直接插入排序,希尔排序,堆排序和快速排序。 //常用排序汇总 #include void swap(int *a, int *b); void bubble_sort(in原创 2013-10-21 23:58:32 · 1418 阅读 · 0 评论