Tianhaoo Blog

I need sleep.

无线网络

python # 传输速率取决于带宽,发送者的功率,期望到达的距离 def get_rate(B, power, distance): P_mw = math.pow(10, power / 10) # mW N0_mw_MHz = math.pow(10, N0 / 10) # mW/MHz path_loss = 10 * salpha * math.log...

配置文件备份

vscode settings.json { "git.autofetch": true, "latex-workshop.view.pdf.viewer": "tab" } wsl2中的.zshrc # If you come from bash you might have to change your $PATH. # export PATH=$HOME/b...

图论

图的java实现 邻接矩阵 如果是无向图,那就在n*n的矩阵里存储0和1即可,代表有边和无边。 如果是有向图,那就在矩阵里存权值,权值为正无穷表示没有相应的边。 优点:1. 实现简单 2. 可以快速判断两个顶点之间是否存在边 3.可以快速增删边 缺点:如果是稀疏图会比较浪费空间,不适合增删节点 class Graph{ int vexNum; int edge...

Java质数因数倍数

判断质数 如果n不是质数,那么在根号n之前一定有一个因数,所以只需要遍历到根号n即可 public boolean isPrime(int n){ if(n<=1) return false; if(n<=3) return true; double upperBound = Math.sqrt(n) + 1; for (int i=2; i...

动态规划

套路 一般用于求最值,基本上就是穷举 重叠子问题,用于保证时间效率高 最优子结构,子问题的最优解组合成原问题的最优解,用于保证正确性。 经典问题 凑零钱问题 leetcode 322 给定不同面额的硬币 coins 和一个总金额 amount。编写一个函数来计算可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返...

一种高容错率的消息缓冲队列

问题描述 需要用java解析收到的键值对消息,格式为key:value,key的种类已知,但是发来的消息会像下面那样断断续续,难以直接解析消息。 ID: 60000000001 IP: esdt.elevat orstar.com PORT :30080 TICK:60 APN: CPIN:0 C SQ:0 NET:00 LIFT:00000000000 000000 CALL:000 ...

进制转换

java语言中各种进制和ASCII乱转,硬件通信中常用

最近被java里面的进制转换搞得头大,先贴四个函数,具体的以后整理 /** * @return 二进制数组转换为二进制字符串 2-2 */ public static String bytes2BinStr(byte[] bArray){ String outStr = ""; int pos = 0; ...

回溯算法

leetcode上回溯算法题目+套路总结

概念 回溯算法是一种类似枚举的搜索算法,按照一定的条件搜索解,如果发现不满足就退回一步,重新选择其他分支进行搜索,许多复杂的,规模较大的问题都可以使用回溯法,有“通用解题方法”的美称。 通常做法是:在包含问题的所有解的解空间树(回溯树)中,按照深度优先搜索的策略,从根结点出发深度探索解空间树。当探索到某一结点时,要先判断该结点是否包含问题的解,如果包含,就从该结点出发继续探索下去,如该结...

常见的排序算法及其Python实现

附算法过程动图

常见的排序算法及其Python实现 性能分析 方法 最好情况 最坏情况 平均情况 空间复杂度 稳定性 直接插入排序 O(n) O(n^2) O(n^2) O(1) √ ...

Python编程知识杂记

记录偶然遇到的Python知识和语言特性

传值还是传引用? Python 中一切皆为对象,数字是对象,列表是对象,函数也是对象,任何东西都是对象。 而变量是对象的一个引用(又称为名字或者标签),对象的操作都是通过引用来完成的。 例如,在a = []中,[]是一个空列表对象,变量 a 是该对象的一个引用。 在 Python 中,「变量」更准确叫法是「名字」,赋值操作 = 就是把一个名字绑定到一个对象上。就像Java中的对象的引用一...