算法步骤:1. 以步长为K开始,对序列进行分组,对组类数字进行插入排序2.缩小步长K,重复第一步,直到K等于1总而言之就是分成几步的插入排序,最后一步要是step为1 在时间上会比直接的插入排序花费少,因为在最后一步时,数组已经尽可能地有序了。#include<stdio.h>void print(int* arr, int len){ for (int i = 0; i
树是一种特殊的图DFS:深度优先搜索BFS:广度优先搜索(即类似层次遍历)代码实现:#include<stdio.h>#include<stdlib.h>//无向图/*这部分都是BFS依靠队列实现的需求 为队列的代码#define MAXSIZE 5typedef struct Queue{ int front; int rear; int data[MAXSIZE]
什么是BST?就是在树结构中,所有的左子树都比根节点小,所有的右子树都比根节点大。性质也是递归的先序排列结果:5 2 1 4 7 6 8代码实现:#include<stdio.h>#include<stdlib.h>typedef struct TreeNode{ int data; struct TreeNode* lchild, * rchild;}TreeNode
什么是数据结构?简单来说就是实现一些项目,需要在内存中将数据存储起来,比如通讯录,每个人的信息都存储起来。可以用数组,链表,树,哈希表,,,等等来存储。数组:存储比如给了500个超过这个范围就要动态扩容了。链表:要增加就申请一块内存,用指针链接起来。树:可以方便查找 树—>二叉树—>搜索二叉树—>平衡搜索二叉树—>AVLTree RBTree主要是学
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号