上一页 1 ··· 3 4 5 6 7 8 9 10 11 下一页
摘要: 概念 二叉树: 树中每个节点最多有两个; 二叉搜索树: 1.若任意结点的左子树不空,则左子树上所有结点的值均不大于它的根结点的值。 2. 若任意结点的右子树不空,则右子树上所有结点的值均不小于它的根结点的值。 3.任意结点的左、右子树也分别为二叉搜索树。 二叉排序树: 1. 若它的左子树不空,则左子 阅读全文
posted @ 2020-09-01 17:52 欧阳图图的少年成长记 阅读(526) 评论(0) 推荐(0) 编辑
摘要: 思想: 分治和递归 拆分再合并: 将元素拆分为每一个单位 怎么拆分的,就怎么合并 完整代码 #include <stdio.h> #include <stdlib.h> void PrintSort(int * a, int n) { printf("\n"); int i; for (i=0; i 阅读全文
posted @ 2020-09-01 10:08 欧阳图图的少年成长记 阅读(218) 评论(0) 推荐(0) 编辑
摘要: 思想: 复杂度: O(logN) O(N) 堆的性质: 1: 堆中某个节点的值总是不大于或不小于其父节点的值; 2: 堆总是一棵完全二叉树。 堆分类为:大顶堆和小顶堆 解析: 第一步:建堆(举例大顶堆) 从父节点9开始从左往右,与左右孩子相比较,寻找比自己大的数,进行交换; 第二步:排序 将顶节点与 阅读全文
posted @ 2020-08-31 16:13 欧阳图图的少年成长记 阅读(151) 评论(0) 推荐(0) 编辑
摘要: 思想: 每次选取最小或最大的数放在已排序的集合后面 完整代码 #include <stdio.h> void PrintSort(int * a, int n) { printf("\n"); int i = 0; for(i=0; i<n; i++) { printf(" %d ", a[i]); 阅读全文
posted @ 2020-08-31 15:57 欧阳图图的少年成长记 阅读(161) 评论(0) 推荐(0) 编辑
摘要: 参考:https://wiki.jikexueyuan.com/project/easy-learn-algorithm/fast-sort.html 基本思想: 通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快 阅读全文
posted @ 2020-08-28 16:39 欧阳图图的少年成长记 阅读(122) 评论(0) 推荐(0) 编辑
摘要: 中心思想: 依次比较相邻的两个数. 时间复杂度: 其它博文都没有讲过的一个重要知识点: 两两相比, 每比一次,最后一个就会被排好序,因此每一次比较的长度逐渐减小 每轮都是从头开始比较 完整代码 #include <stdio.h> // 最好的情况,正序 // 最坏的情况,倒序 void Print 阅读全文
posted @ 2020-08-28 15:48 欧阳图图的少年成长记 阅读(139) 评论(0) 推荐(0) 编辑
摘要: 希尔排序的具体实现思路是:先将整个记录表分割成若干部分,分别进行直接插入排序,然后再对整个记录表进行一次直接插入排序。、 总结 : 不断缩小增量(gap)的排序过程 时间复杂度: 希尔排序相对来说,思路非常简单,但是很多网络文章,描述的及其麻烦,扰乱读者理解,这里我用最清晰方式解析; 注: int 阅读全文
posted @ 2020-08-28 14:05 欧阳图图的少年成长记 阅读(661) 评论(0) 推荐(0) 编辑
摘要: 概念 设计模式,是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。 它描述了在软件设计过程中的一些不断重复发生的问题,以及该问题的解决方案; 设计模式的本质是面向对象设计原则的实际运用,是对类的封装性、继承性和多态性以及类的关联关系和组合关系的充分理解 分类 设计模式有两种分类方法 阅读全文
posted @ 2020-08-24 14:25 欧阳图图的少年成长记 阅读(103) 评论(0) 推荐(0) 编辑
摘要: 创建socket int socket(int af, int type, int protocol); // linux SOCKET socket(int af, int type, int prococol); // windows af/pf : 地址族 address family, IP 阅读全文
posted @ 2020-08-21 17:55 欧阳图图的少年成长记 阅读(183) 评论(0) 推荐(0) 编辑
摘要: 七层模型 七层模型:物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。网络模型 : 对数据进行封装 socket编程: 在传输层上,可以使用tcp/udp协议 两台计算机进行通信时,必须遵守以下原则: 必须是同一层次进行通信,比如,A 计算机的应用层和 B 计算机的传输层就不能通信,因为它 阅读全文
posted @ 2020-08-21 16:42 欧阳图图的少年成长记 阅读(474) 评论(0) 推荐(0) 编辑
上一页 1 ··· 3 4 5 6 7 8 9 10 11 下一页