有问题吗?

如果你有任何问题,你可以问下面或输入你正在寻找的!

定长串操作

串操作在数据结构中也是十分重要的一部分,首先需要理解串,串长,串相等,空格串,空串,子串的概念。我们在编程过程中,对于字符串的操作,就是一种串结构的使用。 串:是指通常说所的字符串,如:“abcde”,“PI”等 串长:是指字符串的长度,如:“abcde”长度为5,“PI”长度为2 串相等:两个字符串的长度和内容均相等,如:“abcde”和“abcde” 空格串:字符串由一个或多个空格组成, . . .阅读

线索二叉树

线索二叉树,或者说,对二叉树线索化,实质上就是遍历一棵二叉树,在遍历的过程中,检查当前结点的左、右指针域是否为空。如果为空,将它们改为指向前驱结点或后继结点的线索。 当以二叉链表作为存储结构时,只能找到左右孩子信息,而不能直接得到结点在任意序列中的前驱和后继信息,这种信息只有在遍历的动态过程中才能得到。 解决此问题最简单的办法是在每个节点上增加两个指针域fwd和bkwd,分别指示结点依任意次 . . .阅读

Huffman树

从树中一个结点到另一个结点之间的分支构成这两个结点之间的路径,路径上的分支数目称作路径长度。树的路径长度是从树根到每个结点的路径长度之和。结点的带权路径长度为结点到树根之间的路径长度与结点上权的乘机,树的带权路径长度为树中所有叶子节点的带权路径长度之和。 头文件: /************************************************************** . . .阅读

查找算法

查找算法是典型的常用算法,查找算法对综合效率要求比较高,常用的查找算法有很多种,本文主要介绍顺序查找和折半查找(二分查找),更多的查找算法还请小伙伴们自行研究。 头文件: /***************************************************************************************************** *Copy . . .阅读

排序算法

排序算法有很多种,并在实际编程过程中用的非常广泛。常用的排序算法有:插入排序算法,选择排序算法,冒泡排序算法,快速排序算法,归并排序算法,希尔排序算法,堆排序算法。 各种排序算法的时间复杂度: 1.冒泡法: O(n*n) 2.直接插入排序:O(n*n) 3.选择排序:O(n*n) 4.快速排序:平均时间复杂度log2(n)*n,所有内部排序方法中最高好的 5.归并排序:log2(n)*n . . .阅读

牛顿迭代法求方程的解

迭代法也称辗转法,是一种不断用变量的旧值递推新值的过程,跟迭代法相对应的是直接法(或者称为一次解法),即一次性解决问题。迭代法又分为精确迭代和近似迭代。“二分法”和“牛顿迭代法”属于近似迭代法。迭代算法是用计算机解决问题的一种基本方法。 利用迭代算法解决问题,需要以下三个步骤: 1.确定迭代变量   在可以用迭代算法解决的问题中,至少存在一个直接或间接地不断由旧值递推出新值的变量,这个变量 . . .阅读

我的开源项目——多语言公共库

多语言公共库是我在日常学习和工作中总结和摘录的一些常用的基本功能函数集合,主要包括C、C++、Python、Java、C#等,欢迎一起交流学习。 github源码地址: https://github.com/827992983/mylib linux_c Linux异步带缓存Socket(Server+Client) Linux线程池 Linux锁 双向链表 定时器 日志文件读写 配置文 . . .阅读

数据结构-- 递归 排序

一.递归 一.递归的介绍递归是一种数学上分而自治的思想A.将原问题分解为规模较小的问题进行处理1.分解后的问题与原问题的类型完全相同,但是规模较小2.通过小规模问题的解,能够轻易求得原问题的解B.问题的分解时有限的(递归不能无限进行)1.当边界条件不满足时,分解问题(递归继续进行)2.当边界条件满足时,直接求解(递归结束)C.递归在程序设计中的应用a.递归函数1.函数体中存在自我调用的函数2.递 . . .阅读

【B1048 数字加密】坑太深

【题目】1048 数字加密 (20 分)本题要求实现一种数字加密方法。首先固定一个加密用正整数 A,对任一正整数 B,将其每 1 位数字与 A 的对应位置上的数字进行以下运算:对奇数位,对应位的数字相加后对 13 取余——这里用 J 代表 10、Q 代表 11、K 代表 12;对偶数位,用 B 的数字减去 A 的数字,若结果为负数,则再加 10。这里令个位为第 1 位。输入格式:输入在一行中依次给 . . .阅读