
数据结构
hertioy
余生很长,当下很短。
展开
-
斐波那契递归
long long fib(long long first,long long second, long long n)if(n<=2)return 1;if(n=3)return second+first;elsereturn fib(second, first+second,n-1)其时间复杂度为O(2^n)用for循环求斐波那契时间复杂度为O(n)...原创 2019-04-21 11:22:45 · 189 阅读 · 0 评论 -
算法效率,时间复杂度,空间复杂度
1.衡量一个算法好坏的标准在于其算法效率高,算法效率分为时间复杂度和空间复杂度,时间复杂度主要衡量一个算法的运行速度,空间复杂度主要衡量一个算法所需要的额外空间。一个算法好应该时间复杂度最低,空间复杂度最小。2.时间复杂度就是衡量一个算法的运行速度,也就是时间效率。3.算法的时间复杂度是一个函数,他定量描述了该算法的运行时间,一个算法执行所耗费的时间,是不能算出来的,是基本操作的执行次数。4...原创 2019-05-10 15:19:34 · 1902 阅读 · 1 评论 -
链表知识梳理
熟悉什么是链表,链表的分类?答:链表是一种物理存储结构上非连续,非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序来实现的。熟悉链表带头结点和不带头结点的区别?答:在结构上:带头结点的单链表,不管链表是否为空,均含有一个头结点,不带头结点的单链表不含头结点。在操作上:带头结点的单链表的初始化为申请一个头结点。无论插入或删除的位置是第一个结点还是其他结点,算法步骤都相同。不带头...原创 2019-05-11 14:22:15 · 124 阅读 · 0 评论 -
栈和队列
什么是栈,栈有什么特性?答:栈是一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作,进行数据插入和删除操作的一端称为栈顶,另一端称为栈底,栈的特性是先进后出。请用C语言实现一个动态栈typedef int SDataType;typedef struct Stack{SDataType* _array;int _capacity;int _size; // 表示栈中有...原创 2019-05-17 14:26:14 · 96 阅读 · 0 评论 -
二叉树及其三种遍历
1.二叉树的常用性质<1>.在二叉树的第i层上最多有2 i-1 个节点 。(i>=1)<2>.二叉树中如果深度为k(有k层),那么最多有2k-1个节点。(k>=1)<3>.若二叉树按照从上到下从左到右依次编号,则若某节点编号为k,则其左右子树根节点编号分别为2k和2k+1;<4>.二叉树分类:满二叉树,完全二叉树满二叉树:高度为...原创 2019-07-23 11:32:17 · 177 阅读 · 0 评论 -
BubbleSort
#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>#include <stdlib.h>void BubbleSort(int* array, int size){for (int i = 0; i < size - 1; i++){for (int j = i + 1; j < size; j++...原创 2019-08-28 22:22:00 · 200 阅读 · 0 评论