
算法
木鱼-
过一天就要进步一点,而且不知道也会更多,还有每天都会忘记一点。所以每天还得做功课
展开
-
关于java集合框架接口RandomAccess的理解
RandomAccess接口是一个空接口,空接口的作用一般起到一个标识作用,比如:Serializable 接口。RandomAccess接口里面的文档说明大致意思:给可以提供随机访问的List实现去标识一下,这样使用这个List的程序在遍历这种类型的List的时候可以有更高效率。仅此而已。这句话隐含的意思就是只要支持快速随机访问的集合类都应该实现这个接口,那么与之对应的支持顺序访问的集合类就不应该实现这个接口。例如所以,我们在遍历List之前,可以用 if( list in..转载 2021-02-23 11:09:37 · 169 阅读 · 0 评论 -
Hystrix 配置参数实例
直接上hystrix的配置代码来说:@HystrixCommand(fallbackMethod = "sendxxxxBack", threadPoolProperties = { // 50个核心线程池,超过100个的队列外的请求被拒绝;当一切都是正常的时候,线程池一般仅会有1到2个线程激活来提供服务 @HystrixProperty(name = "coreSize", value = "20"), // 最大线程池 ...原创 2020-10-10 15:09:14 · 349 阅读 · 0 评论 -
一文搞懂AQS及其组件的核心原理
目录前言 AbstractQueuedSynchronizer Lock ReentrantLock 加锁 非公平锁/公平锁 lock tryAcquire addWaiter acquireQueued park细节 打断 取消 解锁 小结 ReentrantReadWriteLock 写锁 读锁 小结 Condition 其它组件 CountD转载 2020-10-10 08:53:30 · 227 阅读 · 0 评论 -
数据结构与算法——跳表
什么是跳表跳表全称为跳跃列表,它允许快速查询,插入和删除一个有序连续元素的数据链表。跳跃列表的平均查找和插入时间复杂度都是O(logn)。快速查询是通过维护一个多层次的链表,且每一层链表中的元素是前一层链表元素的子集(见右边的示意图)。一开始时,算法在最稀疏的层次进行搜索,直至需要查找的元素在该层两个相邻的元素中间。这时,算法将跳转到下一个层次,重复刚才的搜索,直到找到需要查找的元素为止。一张跳跃列表的示意图。每个带有箭头的框表示一个指针, 而每行是一个稀疏子序列的链表;底部的编号框(黄色)表示转载 2020-07-29 18:27:48 · 210 阅读 · 0 评论 -
分析一次double强转float的翻车原因
人逢喜事精神爽,总算熬到下班撩~~正准备和同事打个招呼回家,被同事拖住问了.????♂️: 你们组做的那块代码,把double类型数据成float有问题啊????.????♀️: 嗯?不对是正常啊,float精度是没有double高,但float能保存到小数点后好多位,对我们来说完全够用了!????♂️: 不是啊,这不是小数点多少位的问题,而是现在整型数据,转出来也有问题啊,你看.????♀️: XX0...转载 2019-09-10 18:10:01 · 838 阅读 · 0 评论 -
C#实现二叉树遍历算法
用C#2.0实现了二叉树的定义,怎么构造一颗已知的二叉树,用几种常规的算法(先序,中序,后序,层次)遍历二叉树。希望能给有需要人带来帮助,也希望能得到大家的指点。有关C#数据结构的书在书店里找到,网上也是极少,如果你有好的学习资源别忘了告诉我。先谢了。数据结构对一个程序员来说,现在是太重要了,数据结构学得好的人,逻辑思维一定很强,在程序设计的时候,就不会觉得太费劲了。而且是在设计多层应用程序的时候转载 2015-09-28 15:50:41 · 974 阅读 · 0 评论 -
排序(冒泡、直接插入、快速排序)
冒泡法 第1趟:依次比较0和1、1和2、2和3...n-2和n-1索引处的元素,发现前面的大于后面的,就交换它们,这样一趟下来,最大的元素排到了最后面。第2趟:继续按照第1趟的做法再做一遍,一趟下来,第二大的元素转载 2014-07-27 17:35:34 · 909 阅读 · 0 评论 -
实现BASE64加密、解密算法
C++int CDB44Protocol::Base64Encode(char * base64code, const char * src, int src_len){ if (src_len == 0) src_len = strlen(src); int len = 0; unsigned转载 2014-10-09 11:29:36 · 613 阅读 · 0 评论 -
二叉树和二叉查找树
人们时常选择二叉树超过诸如数组和链表真阳的较为基础的数据结构,因为人们可以快速的查找二叉树(相对于链表),还可以迅速的二叉树中插入和拆除数据(相对于数组)。 人们把每个节点最拥有不超过两个子节点的树定义为二叉树。 二叉查找树是一种吧较小数据存储在左节点二较大数据存储在右节点的二叉树。 Public class Node{ Public int Data; Publi转载 2013-07-02 15:23:04 · 737 阅读 · 0 评论 -
排序(选择、希尔、二分插入)
选择排序法 第1趟,在待排序记录r[1]~r[n]中选出最小的记录,将它与r[1]交换;第2趟,在待排序记录r[2]~r[n]中选出最小的记录,将它与r[2]交换;以此类推,第i趟在待排序记录r[i]~r[n]中选出最小的记录,转载 2014-07-27 22:35:25 · 671 阅读 · 0 评论