![](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 20typedef int ElemTyp原创 2013-07-04 23:11:19 · 1405 阅读 · 0 评论 -
数据结构——单链表
定义n个节点链结成一个链表,即为线性表的链式存储结构,因为此链表中的每个结点中只包含一个指针域,所以叫单链表。头指针与头结点头指针:a.指向第一个结点的指针,若有头结点,则指向头结点b.头指针带有标识作用,常以头指针冠以链表的名字c.无论链表是否为空,头指针均不为空。是链表的必要元素头结点:a.为了操作统一和方便而设立,放在第一个元素原创 2013-07-07 00:09:45 · 2089 阅读 · 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 · 1588 阅读 · 2 评论 -
数据结构——静态链表
定义用游标实现法描述的链表叫做静态链表C定义:#define MAX_SIZE 1000typedef struct{ ElemType data; int cur;}Component,StaticLinkList[MAX_SIZE];插入和删除操作一些相关方法://初始化int initList(StaticLinkList原创 2013-07-12 22:15:27 · 1395 阅读 · 0 评论 -
数据结构——队列
概述队列:只允许在一段进行插入删除操作,而在另一端进行删除操作的线性表。队列是一种先进先出(FIFO)的线性表,允许插入的一端为队尾,允许插入的一端为队头。循环队列头尾相接的顺序存储结构为循环队列。为防止溢出,通常保留一个空闲单元在队满时。队满的条件:(队尾 + 1) %队列长度 = 队头通用的队长值为:(队尾 - 队头 + 队列原创 2013-07-30 21:27:42 · 2442 阅读 · 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 · 1289 阅读 · 0 评论 -
常见的排序算法
最近由于手上有两个项目要写,没有时间构思和写博客= =。最近属于校招季,计算机原理,算法和数据结构,c语言基础属于最重要的。这里把常考到的常用排序算法简单汇总了下。包括冒泡排序,简单选择排序,直接插入排序,希尔排序,堆排序和快速排序。//常用排序汇总#include void swap(int *a, int *b);void bubble_sort(in原创 2013-10-21 23:58:32 · 1423 阅读 · 0 评论