
数据结构
文章平均质量分 51
Jinhua_Wei
这个作者很懒,什么都没留下…
展开
-
数组链表实现(C语音)
描述 主要功能:实现一种数据结构需具有以下三种功能: 具有链表的快速删除节点功能 具有数组的快速查找功能,如通过index查找数据节点 能存储任意类型数据 实现接口方法 根据链表和数组常用使用方法,实现一下几种方法:(曾、删、改、查) 实现super_array 结构初始化方法; 实现super_array 结构插入数据方法(从头插入数据节点); 实现super_array 结构原创 2018-01-25 00:32:46 · 1504 阅读 · 1 评论 -
golang实现常用排序算法 --- 快速排序、堆排序等
简单选择排序 原理阐述:从未排序的数组序列中,选择最大或者最小元素添加入已排序数组 最开始已排序数组为空 import ( "fmt" ) //简单选择排序 func simpleSelectSort(nums []int) { for i := 0; i < len(nums); i++ { min := i for j := i +...原创 2018-01-28 23:26:58 · 507 阅读 · 0 评论 -
golang 实现二叉搜索树(面向对象,非递归)
二叉搜索树 golang 实现非递归方式的二叉搜索树(OO)。 实现时以index为索引比较,data中记录节点数据。 实现方法: 1. 二叉树中插入节点(Insert); 2. 二叉树中查找节点 (Search); 3. 二叉树中删除节点(Delete) —>需要考虑多种情况: 没有任何子树,只有左或右子树,同时有左子树和右子树; 二叉搜索不是平衡树,搜索最坏情况(n),最好...原创 2018-03-11 17:27:38 · 526 阅读 · 0 评论 -
golang实现高度平衡二叉树(AVL树)
AVL树简介 AVL 树是高度相对平衡(abs(height(node.lchild - height(node.rchild) < 2))的二叉搜索树。它和二叉搜索树主要的区别在AVL是高度平衡的,不会出现二叉搜索树极端情况:线性链表 搜索复杂度为N 。 实现上,AVL树在插入节点和删除节点时要不断调整树,使其处在一个平衡状态。和二叉搜索树相比主要增加树旋转、调整。 实现源码 ...原创 2018-03-17 20:46:12 · 1751 阅读 · 2 评论