• HOME
  • SEARCH
  • TOPICS
  • DATA

  • 算法:二叉排序树的添加、查找和删除

    定义节点和二叉排序树 type BinarySortTree struct { root *Node } type Node struct {

    2021-02-15, Views: 2081 , Topics: 算法

  • 算法:使用深度优先搜索对二叉树遍历、查找和删除

    说明 深度优先搜索使用递归实现二叉树的前序,中序和后序遍历、查找和删除。 前序遍历 先输出父节点,再遍历左子树和右子树。 中序遍历 先遍历左子树,再输出父节点,

    2021-02-14, Views: 2455 , Topics: 算法

  • 数据结构:满二叉树和完全二叉树

    满二叉树 如图:所有叶子节点都在最后一层,并且节点总数为2^n-1。n为层数。 完全二叉树 如果该二叉树的所有叶子节点都在最后一层或者倒数第二层,而且最后一

    2021-02-13, Views: 3691 , Topics: 数据结构

  • 数据结构:树的常用术语

    示意图 常用语 节点/节点对象(一个个小圆圈) 根节点/root节点 父节点 子节点 叶子节点 节点的权(节点的值) 路径:从ro

    2021-02-11, Views: 3113 , Topics: 数据结构

  • 数据结构:哈希表

    定义 数组+链表:数组中的每个元素对应一个链表,加入元素时根据hash算法获得对应的数组索引,再插入到该索引对应的元素,即链表的末尾。 代码 func main

    2021-02-11, Views: 2616 , Topics: 数据结构

  • 算法:二分查找

    循环法 func main() { arr := []int{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 9, 9} fmt.

    2021-02-10, Views: 2292 , Topics: 算法

  • 算法:快速排序

    算法演进 以数组中间索引的元素为中轴值,分组左右两边两个数组。 左边数组遍历找到一个大于中轴值的数,右边数组遍历找到一个小于中轴值的数,进行交换,遍历完成,左边

    2021-02-09, Views: 2263 , Topics: 算法

  • 算法:希尔排序

    算法演进 首次按数组的长度除以2为分组步长,若步长大于1,则再次分组,以首次得到的步长再除以2为步长,以此类推分组,直至步长为1。 以[8, 9, 1, 7,

    2021-02-08, Views: 1848 , Topics: 算法

  • 算法:插入排序

    算法:插入排序 算法演进 将数组看作两个数组,前一部分为有序数组(已排好序),后一部分为无序数组(待排序)。 以[10, 20, 5, 0]数组为例。 [10

    2021-02-07, Views: 1722 , Topics: 算法

  • 算法:选择排序

    算法演进 假定第0位索引对应元素值最小。 第一次循环从第1位索引开始,与第0位索引对应的元素对比,如果第1位索引对应的元素比第0位索引对应的元素小,交换元素对

    2021-02-05, Views: 1844 , Topics: 算法

  • 算法:冒泡排序

    算法演进 第一次从数组第0位索引开始遍历到数组最后一位将最大值置换至最后一位。 第二次从数组第0位索引开始遍历到数组最后第二位将最大值置换至最后第二位。 第三

    2021-02-04, Views: 1670 , Topics: 算法

  • 排序算法

    内部排序 需要将所有数据都加入到内存中。 插入排序 直接插入排序 希尔排序 选择排序 简单选择排序 堆排序 交换排序 冒泡排序 快速排序 归并排序

    2021-02-03, Views: 1896 , Topics: 算法

  • 算法的时间复杂度和空间复杂度

    算法的时间复杂度和空间复杂度 算法的时间复杂度 计算程序执行时间 事后统计:打印程序的耗时时间,依赖于计算机硬件等因素,需在同一台计算机相同状态运行程序才准确。

    2021-02-02, Views: 1732 , Topics: 算法

  • 算法:递归-八皇后问题

    说明 一维数组即可表示。 数组的索引i表示第i+1行皇后。即:索引从0开始,表示第1行。 元素的值arr[i]=value,value表示第value+1列。若

    2021-02-01, Views: 2343 , Topics: 算法

  • 算法:迷宫问题-递归实现

    初始化迷宫 初始化一个8行7的二维数组。 maze := make([][7]int, 8) //Print(maze) for i := 0; i <

    2021-01-29, Views: 2451 , Topics: 算法

  • 算法:中缀表达式转后缀表达式

    调度场算法 中缀表达式转后缀表达式又称调度场算法。 可参考 维基百科:调度场算法 算法步骤 从左到右扫描中缀表达式 遇到操作数直接入栈s2 遇到运算符时,比较

    2021-01-28, Views: 2142 , Topics: 算法

  • 算法:解析中缀表达式

    说明 未考虑小数、负数、括号问题。 定义计算结构体 type Calculator struct { NumTop int Ope

    2021-01-27, Views: 1976 , Topics: 算法

  • 前缀表达式、中缀表达式、后缀表达式

    前缀表达式 Polish notation 又称波兰表达式,运算符位于操作数之前。 转换 (3+4)*5-6对应的前缀表达式为- * + 3 4 5 6。 扫描

    2021-01-26, Views: 3954 , Topics: 数据结构

  • 数据结构:栈-链表实现

    定义链表的节点 type Node struct { Value string Next *Node } 定义链表栈 type LinkedL

    2021-01-25, Views: 2302 , Topics: 数据结构

  • 数据结构:栈-数组实现

    定义数组栈 type ArrayStack struct { Top int Array []string } 定义入栈方法 func (s

    2021-01-22, Views: 1830 , Topics: 数据结构

  • First Prev
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • Next Last

©2025 沪ICP备18012661号-1 阿里云

Messages Sitemap GitHub