数据结构
胡二哈
这个作者很懒,什么都没留下…
展开
-
查找算法
顺序查找算法1、如果数据没有排序只能顺序查找,如果排了则可以用二分查找。#include<iostream>using namespace std;int sefind(int *p,int n,int x);int main(){int a[]={1,2,42,3,34,22,23,45,23};int key=sefind(a,9,23);return 0;...原创 2020-02-12 11:04:49 · 91 阅读 · 0 评论 -
数据结构树
树 (和图一样是非线性结构)#树的定义专业定义:1、有且只有一个称为根的节点2、有若干互不相交的子树,这些子树本身也是一颗树通俗定义:1、树由节点和边组成2、每一个节点只有一个父节点,但可由多个字节点3、没父节点的是根节点树的分类1、一般树2、二叉树:一般二叉树、满二叉树(满了,在不增加层次的条件下不能在多一个节点了)、完全二叉树(完全按照从上到下,从左到右的树)。3、...原创 2019-12-20 10:44:47 · 85 阅读 · 0 评论 -
数据结构——链表
链表1、定义:n个节点离散分配,彼此通过指针相连,每个节点只有一个前驱节点和一个后驱节点,首节点没有前驱结点,尾节点没有后驱节点。专业术语: 首节点:第一个有效(有数据)的节点 尾节点:最后一个有效的节点 头节点:第一有效节点之前的节点,头节点并不存放有效数据。其指针指向首节点。增加一个头节点可以方便对链表进行操作。头节点的数据类型和首节点一样。 头指针:指向头节点的指针变量。(...原创 2019-12-12 20:49:17 · 198 阅读 · 0 评论 -
数据结构——队列
队列1、定义:一种可以实现先进先出的存储结构都叫队列。即一端入一段出。(在两端操作,而栈是在一段进行操作)2、分类 链式队列:用链表实现,就是在末尾增加了一个指向尾节点的指针。指向首节点的指针同front表示,不用head 静态队列:用数组实现。静态队列通常都必须是循环队列 循环队列的讲解: (1)静态队列为什么必须是循环队列 因为当到达末尾时,front和re...原创 2019-12-12 20:46:50 · 286 阅读 · 0 评论 -
数据结构——栈
栈栈的定义一种可以实现先进后出的存储结构,只要是这样先进后出都可以作为栈,类似于箱子。栈的分类静态栈:动态栈:其本质是一个链表栈的算法(1)定义并初始化一个栈class Node{public:int data;Node* next; };//定义一个栈的结构 class Stack{Node* ptop;Node* pbottom;};//初始化栈 ...原创 2019-12-12 20:45:31 · 81 阅读 · 0 评论