数据结构
照顾不周
努力中......
展开
-
【数据结构】二叉树(个人补习向)
一.树的概念及其相关1.概念及特点树是一种非线性的数据结构,它是由n(n>=0)个有限结点组成一个具有层次关系的集合。特点:每个结点有零个或多个子结点;没有父结点的结点称为根结点;每一个非根结点有且只有一个父结点;2. 相关定义:节点的度:一个节点含有的子树的个数称为该节点的度;叶子节点:度为0的节点称为叶节点;非叶子节点/分支节点:度不为0的节点;父节点:若一个节...原创 2020-03-21 16:34:08 · 132 阅读 · 0 评论 -
【数据结构】七大排序算法
一.常见排序算法插入排序1.直接插入排序2.希尔排序选择排序3.选择排序4.堆排序交换排序5.冒泡排序6.快速排序归并排序7.归并排序二.插入排序1.直接插入排序时间复杂度:O(N^2)空间复杂度:O(1)稳定性:稳定算法描述:把待排序的记录按其关键码值的大小逐个插入到一个已经排好序的有序序列中,直到所有的记录插入完为止,得到一个新的有序序列 。voi...原创 2020-03-20 15:54:48 · 229 阅读 · 3 评论 -
【数据结构】哈希表及其模拟实现
一.哈希及其概念通过一定的哈希函数,确定元素的存储位置。搜索效率较高,为O(1)负载因子:存储元素个数/总表格长度 若大于一定值需要扩容二.常见的哈希函数直接定址法:hashfunc(date)=A*date+B;【A,B为常数】除留余数法:hashfunc(date)=date%capacity【capacity为表格容量】平方取中法:将数据平方后取中间三位。折叠法:例 1...原创 2020-03-15 11:26:28 · 250 阅读 · 1 评论 -
【数据结构】C++实现(一)
一.顺序表用数组实现。尾插尾删较容易,头插头删需使用循环平移元素。注意插入元素时判断容量,以及扩容方式。#include<iostream>using namespace std;#define SIZE 10template <class T>class seqlist1 {public: seqlist1() :capacity(SIZE) ...原创 2020-02-15 22:18:44 · 173 阅读 · 0 评论 -
【数据结构】C语言实现动态顺序表
大概之后的数据结构博客就都使用多文件操作了。一.顺序表功能实现以及数据定义#ifndef _SEQLIST_H_#define _SEQLIST_H_#include<stdio.h>#include<stdlib.h>#include<string.h>#include<Windows.h>#define N 100typede...原创 2019-07-19 09:00:58 · 343 阅读 · 1 评论 -
【数据结构】C语言实现单链表
一.头文件#ifndef _SLIST_H_#define _SLIST_H_typedef int DataType;//定义数据类型typedef struct SListNode { DataType data; struct SListNode* next;}SListNode;void SListInit(SListNode** pphead);//初始化void...原创 2019-07-19 22:32:17 · 241 阅读 · 0 评论 -
【数据结构】C语言实现动态双链表
一.头文件#ifndef _LIST_H_#define _LIST_H_typedef int DataType;typedef struct ListNode { DataType _data; struct ListNode* _next; struct ListNode* _prev;}ListNode;typedef struct List { ListNode...原创 2019-07-20 16:18:35 · 293 阅读 · 0 评论 -
【数据结构】C语言递归实现二叉树遍历
一.头文件BTree.h#include <stdio.h>typedef char BTDataType;#define ENDTAG '#'typedef struct BinaryTreeNode{ BTDataType _data; struct BinaryTreeNode* _left; struct BinaryTreeNode* _right;}BT...原创 2019-07-27 21:30:49 · 584 阅读 · 0 评论 -
【思维导图】数据结构总结向
一.数据结构总结向思维导图原创 2019-09-15 18:03:54 · 506 阅读 · 0 评论