![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法与数据结构
RockyPeng3
justsoso.fun
展开
-
查找算法总结
====================顺序查找算法====================1. 算法描述 顺序比较即可。2. 平均查找长度 (n+1)/2, 其中n为表长。 3. 算法实现 省略 4. 优化思想 根据经验,目前被查到越多的元素,将来可能被查到的可能性也越大。所以可以考虑,每次查找到一个元素后,将它和直接前驱交换位转载 2013-10-07 19:34:16 · 1962 阅读 · 0 评论 -
海量日志数据,找出出现次数最多的IP地址。
问题描述有一个12G的文本文件,每行记录的是一个IP地址,现要找出这个文件中出现次数最多的那个ip。代码实现import java.io.BufferedReader;import java.io.File;import java.io.FileNotFoundException;import java.io.FileReader;import java原创 2013-11-23 21:31:04 · 4731 阅读 · 0 评论 -
统治世界的十大算法
一滴水从很高很高的空中自由落体下来,会不会砸伤人?能够砸伤人则需要水滴具有的动能,即公式(1/2)mv^2,而水滴的质量是一定的,需要达到很高的速度时才能突破人体的承受极限而致人受伤。但是,当水滴具有足够大的速度时,根据v=9.8t,可以知道已经经过了比较长的时间,也就是在空中坠落了很长的一段距离,其实就是空气摩擦力。而当水滴在空中的坠落速度达到很大时,由于自身体积而产生一个空转载 2014-10-30 10:31:16 · 2337 阅读 · 0 评论 -
迷宫算法实现
直接上代码,痛快点。package algorithm;import junit.framework.TestCase;/** * Created by Rocky on 14-3-31. * 下午7:59 */public class MyMaze extends TestCase { /** * @param maze 0表示可走,1表示不可走,原创 2014-04-01 20:04:26 · 1226 阅读 · 0 评论 -
常见算法笔试或面试题
Problem 1 : Is it a loop ? (判断链表是否有环?)Assume that wehave a head pointer to a link-list. Also assumethat we know the list is single-linked. Can you come up an algorithm to checkwhether this link li转载 2014-03-19 16:49:42 · 1011 阅读 · 0 评论 -
数据结构复习
一.算法的基本概念计算机解题的过程实际上是在实施某种算法,这种算法称为计算机算法。1.算法的基本特征:可行性,确定性,有穷性,拥有足够的情报。2.算法的基本要素:算法中对数据的运算和操作、算法的控制结构。3.算法设计的基本方法:列举法、归纳法、递推、递归、减半递推技术、回溯法。4.算法设计的要求:正确性、可读性、健壮性、效率与低存储量需求二.算法的复杂度1.算法的时间复转载 2014-03-19 16:51:39 · 1709 阅读 · 0 评论 -
A*算法详解
第一部分:A*算法简介 写这篇文章的初衷是应一个网友的要求,当然我也发现现在有关人工智能的中文站点实在太少,我在这里 抛砖引玉,希望大家都来热心的参与。 还是说正题,我先拿A*算法开刀,是因为A*在游戏中有它很典型的用法,是人工智能在游戏中的代表。 A*算法在人工智能中是一种典型的启发式搜索算法,为了说清楚A*算法,我看还是先说说何谓启发式算法。 一、何谓转载 2014-03-29 22:25:32 · 2607 阅读 · 0 评论 -
一个一百亿的计算器的实现
网上一搜一大把,搜出来的结果几乎都是我很崇敬的张孝祥老师写的这道题的思路,甚至有的直接把原文copy paste过来,没有一个用代码实现了的。于是自己琢磨了下,这里发布出来。虽然标题是一百亿,但实现结果可用于任意大整数。直接上代码。这里只实现了大整数相加。有了这个,不难实现减、乘等其他操作。代码复制粘帖即可运行。MyBigInteger.javaimport java.util.A原创 2014-03-28 23:16:06 · 8567 阅读 · 1 评论 -
算法笔试题
1、将一整数逆序后放入一数组中(要求递归实现)void convert(int *result, int n){ if(n>=10) convert(result+1, n/10); *result = n%10; }int main(int argc, char* argv[]){转载 2014-03-19 16:53:59 · 941 阅读 · 0 评论 -
N个数中,1出现的次数
现有变量N(N>=1),要求求出1-N(包括1和N)之间的数中,出现1的次数。如N=3,就是1、2、3,则出现1的次数的1。N=13,就是1、2、3、4、5、6、7、8、9、10、11、12、13,则出现 1 的次数是 6。要求编写一个函数f(N),返回值就是 1 的个数。求解中,注意效率。原创 2013-11-13 23:44:23 · 943 阅读 · 0 评论 -
二进制形式中1出现的次数
问题描述:现有一个byte类型的变量,问该变量二进制形式中1出现的次数。要求效率要尽可能高。求解。原创 2013-11-13 23:38:05 · 1227 阅读 · 0 评论 -
由rand_a()实现rand_b()
前言阿里的一道随机数生成的题目,这里进行一下解释 题目给定了rand7,如何生成rand3? 思路一个非常直观的思路,就是不断的调用rand7,直到它产生1-3之间的数,然后返回。代码如下:(如果有同学说这里没有3,但是不代表我不能判断和3的大小比较吧) [cpp] view plaincopy #includ转载 2013-10-23 11:11:38 · 1190 阅读 · 0 评论 -
约瑟夫环问题
问题描述设编号为1,2,3 ……,n(n > 0)个人按顺时针方向围坐一圈,没人持有一个正整数密码。开始时任意给出一个报数上限值m,从第一个人开始顺时针方向自 1 起顺序报数,报到 m 时停止报数,报 m 的人出列,并将他的密码作为新的 m 值,从他在顺时针方向上的下一个人开始重新从 1 开始顺序报数;如此下去,直到所有人全部出列为止。基本要求:设计程序模拟该过程,给出出列人的编号序列。原创 2013-10-17 01:20:15 · 1295 阅读 · 0 评论 -
RSA数据加密解密(各种语言)
RSA数据加密解密文档 增强数据传输与本地日志的数据安全数据加密方式使用rsa加密算法,客户端公钥加密,服务端私钥解密(若单次传输数据量过大,之后可引入aes rsa只加密iv部分)数据加密步骤示例代码为python1.使用zlib压缩目标数据eg:import zlibm = zlib.compress(message)2.rsa 私钥为1024bit,...原创 2019-01-25 09:54:30 · 5833 阅读 · 0 评论