数据结构
shadowh8
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
数据结构中单链表的基本操作
在数据结构中,链表的相关操作尤为重要,链表有单向链表和双向链表。 此篇博客主要向大家介绍单链表的相关操作,其中包括链表的增删改查,头删尾删,头插尾插。 在链表中由于需要不断的扩充或者减小结构,因此将链表定义为动态内存,使用malloc来满足这一操作。#include <stdio.h>#include <windows.h>#include <assert.h&...原创 2018-07-02 11:58:16 · 528 阅读 · 0 评论 -
数据结构中的栈与队列
在数据结构中,有两个知识体系特别重要,分别是栈和队列。两个定义方法很类似,区别在于栈是先入后出,队列是先入先出。 栈:一种先入后出的操作,主要以顺序栈为基础,栈其实类似与小时候的玩具枪的弹夹,最先按进去的子弹,最后才会发射。 栈的顺序实现: #pragma once #include <stdlib.h>#include <assert.h&g...原创 2018-07-25 16:57:24 · 263 阅读 · 0 评论 -
数据结构中JAVA实现双向链表
JAVA是一门面向对象语言,当你一切都以对象为目的编程时,会让人觉得敲出来的代码好似自出餐里面的食物,只要你已经进入餐厅,任何食物都可以任你挑选,省时省力。 用JAVA实现双向链表中首先定义了一个接口来规定每一个类的作用,如代码所示:package 双向链表;public interface Link { //添加结点 void add(Object...原创 2018-07-27 10:53:54 · 214 阅读 · 0 评论 -
数据结构中二叉树相关操作
二叉树是一种重要的数据结构,关于二叉树的相关操作尤为重要,其中主要操作大概分为:建树,遍历,返回二叉树的相关参数。 其中较难的是非递归遍历二叉树,直接给出代码读者若有疑问欢迎随时指点: #pragma once #include "Queue.h"#include "Stack.h"#include <stdio.h>#include <std...原创 2018-07-30 19:10:48 · 146 阅读 · 0 评论 -
数据结构中二叉搜索树相关操作
二叉搜索树,顾名思义,就是用来方便搜索的二叉树。 其定义有以下要点 : 一、由于是二叉树,采用链式结构。 二、二叉搜索树中存储的信息key不能重复。 三、二叉搜索树中的左子树全都比根结点小,右子树全都...原创 2018-08-02 14:36:23 · 186 阅读 · 0 评论 -
数据结构中的堆
堆在逻辑上是一颗完全二叉树,一般采用顺序表存储的方式。 当然这里的堆和内存中的堆毫无关系,只不过是名字恰好相同。 其有大堆和小堆之分: 一、大堆:任一结点信息均大于等于它左右孩子的信息,位于堆顶结点的信息最大,从根节点到每个结点路径 上数组元素组成的序列都是递增的。 ...原创 2018-08-02 14:52:49 · 306 阅读 · 0 评论 -
常见的排序算法
常见的排序算法大体可以分为七中,分别为 冒泡排序,选择排序,插入排序,希尔排序,堆排序,归并排序,快速排序,下表为各自的时间复杂度以及稳定性。 稳定性:假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序,这些记录的相对次序保持不变,即在原序列中,r[i]=r[j],且r[i]在r[j]之前,而在排序后的序列中,r[i]仍在r[j]之前,则称这种排序算法是稳定的...原创 2018-08-24 18:09:31 · 236 阅读 · 0 评论
分享