数据结构
syyyy712
你的格局决定你的结局!
展开
-
C++实现排序算法
排序算法原创 2017-12-20 20:42:11 · 290 阅读 · 0 评论 -
算法时间复杂度计算
本博客主要讲解下算法时间复杂度的基本计算过程。算法时间复杂度是指算法中基本操作的执行次数。记为T(n)=O(f(n)),T(n)为增长比最快项的系数。计算步骤:找基本操作(多数情况下取最深层循环内的语句所描述的操作)确定规模(循环条件)计算出n的f(n)(执行次数)举例说明: 例1:void FunFirst(int n){ int i = 1; int...原创 2018-06-28 09:10:12 · 371 阅读 · 0 评论 -
KMP算法
KMP算法是字符串匹配算法,主要有两步组成:step1:简历PrefixTable,求出小于本身的最长公共前后缀;step2 :根据PrefixTable进行KMP搜索;C++代码:#include<iostream>using namespace std;//创建前缀表void PrefixTable(char pattern[], int prefi...翻译 2018-07-01 13:04:48 · 219 阅读 · 0 评论 -
给定二叉树节点数求二叉树有几种形态
分析过程: (1)先考虑只有一个节点的情形,设此时的形态有f(1)种,那么很明显f(1)=1(2)如果有两个节点呢?我们很自然想到,应该在f(1)的基础上考虑递推关系。那么,如果固定一个节点后,左右子树的分布情况为1=1+0=0+1,故有f(2) = f(1) + f(1)(3)如果有三个节点,(我们需要考虑固定两个节点的情况么?当然不,因为当节点数量大于等于2时,无论你如何固定,其形态...转载 2018-04-05 15:25:20 · 7363 阅读 · 1 评论 -
链表翻转和排序
链表的翻转链表的部分翻转链表排序链表的翻转链表的节点由数据域与指针域构成,针对链表的翻转采用三个指针p,q,r,p指向头结点,q指向p的下一个节点,r指向q的下一个节点,p,q,r三个指针遍历整个链表,将q = p->next 写成q->next = p ,因此就将p指向q的指针反转成q指向p。代码如下:#include <iostream>...原创 2018-02-18 16:34:06 · 293 阅读 · 0 评论 -
普里姆算法和迪杰斯特拉算法
普里姆算法和迪杰斯特拉算法原创 2018-01-27 14:54:21 · 9325 阅读 · 4 评论 -
c++实现栈操作
C++实现栈操作原创 2018-01-10 13:32:25 · 517 阅读 · 0 评论 -
c++实现队列
c++实现队列原创 2018-01-09 23:14:31 · 712 阅读 · 0 评论 -
C++实现链式队列的操作
队列的初始化队列的判空在队尾插入元素在队首删除元素显示队列队列查询计算队列长度销毁队列队列是一种线性结构,和链表不同之处在于队列有两个指针操作,一个是队首指针,一个是队尾指针,节点删除移动队首指针,节点插入移动队尾指针,同时队列具有先进先出的特点,以下是队列基本操作的C++代码,希望对大家有所帮助!#includeusing namespace std;class原创 2018-01-08 21:12:12 · 8389 阅读 · 1 评论 -
对称矩阵的压缩
对称矩阵的压缩原创 2018-01-14 18:12:36 · 3817 阅读 · 0 评论 -
c++实现链表的基本操作
c++链表操作原创 2018-01-03 23:47:01 · 294 阅读 · 0 评论 -
原码,反码,补码详解
文章目录一. 机器数和真值1、机器数2、真值二. 原码, 反码, 补码的基础概念和计算方法1、原码2、反码3、补码三. 为何要使用原码, 反码和补码四. 原码, 反码, 补码 再深入1、同余的概念2、负数取模3、证明本篇文章讲解了计算机的原码, 反码和补码. 并且进行了深入探求了为何要使用反码和补码, 以及更进一步的论证了为何可以用反码, 补码的加法计算原码的减法。希望本文对大家学习计算机基础有...转载 2019-05-06 16:23:03 · 307 阅读 · 0 评论