数据结构与算法
码农code之路
一入码海深似海,从此天涯是路人
展开
-
数据结构与算法:单向链表实现与封装(有头)
概述单向链表分为单向有头链表和单线无头链表,本文针对单向有头链表使用C语言来实现并进行封装。 实现list_head.h文件#ifndef _LIST_H_#define _LIST_H_typedef int datatype;#define SUCC#define MALLOC_FAIL 1#define NOHEADNODE 2#define IN...原创 2018-01-28 11:58:48 · 2314 阅读 · 0 评论 -
【数据结构与算法】两分钟初识树
一:树的定义树是一种数据结构,由n(n>1)个有限结点组成一个有层次关系的集合。形状像一颗倒立的树而得名。分为:无序树,有序树,二叉树,满二叉树,完全二叉树,平衡二叉树(AVL),二叉查找树(二叉搜索树、BST),霍夫曼树,红黑树,B-tree(B-树或者B树),B+树,B*树等。节点结构体(C/C++)表示为:typedefstructtreeNode{...原创 2019-04-04 16:42:56 · 424 阅读 · 0 评论 -
【数据结构与算法】通俗易懂说链表
一:概述链表(Linked list)由一些节点组成,物理存储非连续的线性表。其中每个节点都会存储下个节点的指针,由于实际存储空间不连续,对链表插入节点,删除节点可以达到O(1)的复杂度,但是对一个节点的访问需要O(n)的时间。链表有单向链表,双向链表。二:单向链表单向链表的每个节点有数据项和指针(指向下个节点地址数据)组成,下图为一个单向链表,表头没有数据项,只有指向下一个...原创 2019-04-02 10:48:20 · 436 阅读 · 0 评论 -
【数据结构与算法】二叉树的创建,插入,遍历,删除,删除节点实现
二叉树是每个结点最多有两个子树的树结构。使用广泛,使用C来实现对二叉树的操作。示例:代码实现构造如下二叉树#include <iostream>using namespace std;typedef struct BinaryTree{ int data; struct BinaryTree* lchild; struct BinaryTree* rch...原创 2019-07-10 17:03:08 · 5577 阅读 · 0 评论