
数据结构
文章平均质量分 63
i胡说
这个作者很懒,什么都没留下…
展开
-
堆以及堆排序(C++实现)
堆(英语:heap)是计算机科学中一类特殊的数据结构的统称。堆通常是一个可以被看做一棵树的数组对象。转载 2020-09-03 17:37:37 · 181 阅读 · 0 评论 -
C语言数据结构-创建链表的四种方法
每创建一个结点,都使该结点成为头结点,这样头结点不断地向前移动,就可以创建一个没有特定头结点的链表。转载 2020-04-23 13:11:02 · 3721 阅读 · 2 评论 -
单链表逆序(C语言)
单链表创建及逆序转载 2020-02-16 14:42:42 · 840 阅读 · 1 评论 -
B树、B-树、B+树、B*树介绍
B树即二叉搜索树:所有非叶子结点至多拥有两个儿子(Left和Right);所有结点存储一个关键字;非叶子结点的左指针指向小于其关键字的子树,右指针指向大于其关键字的子树;转载 2019-10-11 17:51:24 · 129 阅读 · 0 评论 -
C++ map与unordered_map
unordered_map和map类似,都是存储的key-value的值,可以通过key快速索引到value。不同的是unordered_map不会根据key的大小进行排序,存储时是根据key的hash值判断元素是否相同,即unordered_map内部元素是无序的。unordered_map的key需要定义hash_value函数并且重载operator==。转载 2019-09-20 11:13:07 · 179 阅读 · 0 评论 -
线性索引
索引就是把一个关键字与它对应的记录相关联的的过程。索引是为检索而存在的。转载 2019-09-03 10:53:20 · 985 阅读 · 0 评论 -
数据结构学习总结
网上关于数据结构的学习资料汗牛充栋,经过查找和比对,笔者对数据结构基础知识和经典算法做了简单整理,作为今后查阅的资料。原创 2019-08-27 10:13:41 · 179 阅读 · 0 评论 -
结构化数据、半结构化数据和非结构化数据
本文转自http://blog.youkuaiyun.com/u010069220/article/details/46895169在实际应用中,我们会遇到各式各样的数据库如nosql非关系数据库(memcached,redis,mangodb),RDBMS关系数据库(oracle,mysql等),还有一些其它的数据库如hbase,在这些数据库中,又会出现结构化数据,非结构化数据,半结构化数据,下转载 2016-09-09 14:45:20 · 11511 阅读 · 0 评论 -
二叉查找树及遍历算法
本文主要参考:http://kubicode.me/2015/08/04/Algorithm/IsBSTPostOrder/二叉查找树(Binary Search Tree),又称二叉搜索树、二叉排序树。它符合这样的特征:它是一颗二叉树(空树也可以)若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值它的左、右子树原创 2015-09-18 12:28:03 · 481 阅读 · 0 评论 -
二叉树重建及遍历
树是一种在实际编程中经常遇到的数据结构。它的逻辑很简单:除了根结点之外每个结点只有一个父结点,根节点没有父结点;除了叶结点之外所有结点都有一个或多个子结点,叶结点没有子结点。 二叉树的遍历方式: 前序遍历:先访问根结点,再访问左子结点,最后访问右子结点。 中序遍历:先访问左子结点,在访问根结点,最后访问右子结点。 后序遍历:先原创 2015-09-17 03:06:37 · 687 阅读 · 0 评论 -
替换字符串中空格算法
案例:实现一个函数,把字符串中的每个空格替换成“%20”。#include "stdafx.h"#include using namespace std;void ReplaceBlank(char string[], int length){ if (string == NULL || length <= 0) { return; } //OriginalLength为原创 2015-09-16 19:51:21 · 1049 阅读 · 0 评论 -
C++顺序表链式存储结构
顺序表包括两种存储方式:1.顺序存储,随机读取(顺序表).2.随机存储,顺序读取(链式表)// 顺序表链式存储.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include using namespace std;typedef int Elemtype;struct _List{ Elemtype data; _List *next;原创 2015-09-16 16:56:10 · 917 阅读 · 0 评论 -
C++实现数据结构线性表顺序存储结构
线性表是一种常用的数据结构。在实际应用中,线性表都是以栈、队列、字符串、数组等特殊线性表的形式来使用的。由于这些特殊线性表都具有各自的特性,因此,掌握这些特殊线性表的特性,对于数据运算的可靠性和提高操作效率都是至关重要的。 线性表是一个线性结构,它是一个含有n≥0个结点的有限序列,对于其中的结点,有且仅有一个开始结点没有前驱但有一个后继结点,有且仅有一个终端结点没有后继但有一个前驱结点,其它的结原创 2015-09-15 20:34:13 · 1224 阅读 · 0 评论 -
数据结构——图(概念,存储,遍历)
1、图的概念 图由点集合和边集合组成,记做G=(V,E),其中点集合不能为空且应该有穷,边集合可以为空。有关图的部分概念如下: 1)、有向图:边有方向,用表示;无向图:边没有方向,用(Vi,Vj)表示 2)、完全图:每两个顶点之间都有连线,有向完全图的边有n(n+1)个;无向完全图有n(n+1)/2个边。 3)、路径和回路:路径是指从一个点到另外一个点走原创 2015-09-09 16:37:13 · 1085 阅读 · 0 评论 -
广义表简述
广义表(Lists,又称列表)是一种非线性的数据结构,是线性表的一种推广。即广义表中放松对表元素的原子限制,容许它们具有其自身结构。它被广泛的应用于人工智能等领域的表处理语言LISP语言中。 1、 定义: 广义表是n(n≥0)个元素a1,a2,…,ai,…,an的有限序列。 其中: ①ai--或者是原子或者是一个广义表。 ②广义表通常记作:原创 2015-09-09 16:03:14 · 715 阅读 · 0 评论