数据结构与算法
文章平均质量分 87
guangsu.
这个作者很懒,什么都没留下…
展开
-
什么样的语言可以进行反编译
什么样的语言可以进行反编译本文从知乎扒的,没扒图,感觉文字就ok.中间加了一些注释,如有需要请移步.概念介绍要理解这个问题,先要看「正」编译的过程是怎样的。你有一个想法,这是一种人类自然语言可以表达出来的东西。你利用编程技能,把它「翻译」成你熟悉的一种编程语言这个过程叫做编程。你使用编译器(compiler)将它翻译成机器所能理解的语言:这个过程叫做编译。编程和编译都是「信息丢失」的过程。比如你说,我有一组整数,我要把这些数排个序,然后轻车熟路地写了个冒泡排序。然而一定程度上,你的原始动机其转载 2021-01-10 21:41:59 · 1436 阅读 · 0 评论 -
数字以及字符串的排序
数字以及字符串的排序引子工作中我们经常遇到两种排序场景.对数字排序对字符串排序 (对纯字母字符串排序|对纯数字字符串排序|对汉字字符串排序|对混杂了字母汉字数字特殊字符的字符串排序…)这涉及到两种不同的排序算法自然有序/自然排序字典序/按字母序排序例如:在自然排序算法中,数字2小于数字10.但是在计算机排序算法中,字符串10小于字符串2,因为10中的第一个数字小于2.字典序自然排序没什么好说的,大家都会.主要说一说字典序.在绝大多数语言中,都提供了比较两个字符串大小的方法,比较原创 2020-07-03 11:18:46 · 4211 阅读 · 0 评论 -
排序算法—堆排序
堆排序以前我们的都是在顺序存储的线性链表上应用分治法的算法,比如双端同时开始查找(快排,归并等等).来提高算法的效率.现在我们来了解不同寻常的排序方法.对存储在顺序表中的二叉树进行堆排序,从而得出我们期望的有序序列.有没有感觉起跑线都不一样.以往都是优化算法,谁能想到优化结构呢?知识点.用数组来实现树相关的数据结构也许看起来有点古怪,但是它在时间和空间上都是很高效的。并不是每一个最小堆都是一个有序数组!要将堆转换成有序数组,需要使用堆排序。堆的根节点中存放的是最大或者最小元素,但是其他节点的原创 2020-07-01 19:15:25 · 499 阅读 · 0 评论