iHippie
码龄12年
求更新 关注
提问 私信
  • 博客:6,745
    6,745
    总访问量
  • 6
    原创
  • 2
    粉丝
  • 1
    关注
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:山东省
加入CSDN时间: 2013-04-24
博客简介:

iHippy的专栏

博客描述:
We are hippies, we are happy!
查看详细资料
个人成就
  • 获得0次点赞
  • 内容获得0次评论
  • 获得2次收藏
  • 博客总排名2,314,094名
创作历程
  • 6篇
    2013年
TA的专栏
  • 数据结构、算法
    6篇
  • python
    6篇

TA关注的专栏 0

TA关注的收藏夹 0

TA关注的社区 0

TA参与的活动 0

创作活动更多

新星杯·14天创作挑战营·第13期

这是一个以写作博客为目的的创作活动,旨在鼓励大学生博主们挖掘自己的创作潜能,展现自己的写作才华。如果你是一位热爱写作的、想要展现自己创作才华的小伙伴,那么,快来参加吧!我们一起发掘写作的魅力,书写出属于我们的故事。我们诚挚邀请你们参加为期14天的创作挑战赛!注: 1、参赛者可以进入活动群进行交流、互相鼓励与支持(开卷),虚竹哥会分享创作心得和涨粉心得,答疑及活动群请见:https://bbs.csdn.net/topics/619781944 【进活动群,得奖概率会更大,因为有辅导】 2、文章质量分查询:https://www.csdn.net/qc

89人参与 去参加
  • 最近
  • 文章
  • 专栏
  • 代码仓
  • 资源
  • 收藏
  • 关注/订阅/互动
更多
  • 最近

  • 文章

  • 专栏

  • 代码仓

  • 资源

  • 收藏

  • 关注/订阅/互动

  • 社区

  • 帖子

  • 问答

  • 课程

  • 视频

搜索 取消

海量日志,提取出现最多的IP--python实现

看过这篇文章教你如何迅速秒杀掉:99%的海量数据处理面试题,文中的第一道题片石,海量日志数据,提取出某日访问百度次数最多的那个IP。所以本文我用自己的思路实现了这个问题。试想一下,如果日志文件中,所有相同的 IP 都是相邻的,那是不是扫描一遍文件就可以找出数量最多的那个?这便是本文思路。而排序正好是一个令相同 IP 相邻的不错的办法。排序就要作比较,而 IP 是诸如 "188.62.136
原创
博文更新于 2013.05.10 ·
1230 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

python算法--置换选择排序详细实现

在败者树一文中有提到,如果能一次性归并多个小文件,可以大大减少对文件的读写操作,从而减少 I/O 时间提高排序效率。那如果可以减少分割的小文件的数量呢?如果在不能一次性归并完所有小文件的情况下,如果能减少分割的小文件数量其实也是提高大文件排序的一种办法。这正是这篇文章要介绍的——置换-选择排序。过程如下:假设内存工作区最多可容纳 n 条记录,则从大文件读取 n 条记录到内存工作区。筛选
原创
博文更新于 2013.05.10 ·
1342 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

python算法--败者树详细实现

对于大文件的排序,常规思路便是:将大文件问个成 n  个小文件,分别对这些小文件利用内部排序(快速排序、堆排序等)算法排成有序。然后再对这些文件进行两两归并,直至归并成一个大的有序文件。这样归并的趟数比较多,读写文件的 I/O 次数就比较多。相对于内存中的运算,对文件的读写操作是特别费时间的。显然一次性归并多个文件而不是两个会大大减少归并的趟数,从而减少对文件的读写操作。如何一次性归并多个
原创
博文更新于 2013.05.10 ·
1816 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

python数据结构--二叉树建立与遍历

二叉树的实现为非递归实现,遍历方法就写了一个,traversal(self, root), 其实先序遍历、中序遍历和后序遍历的区别就一个,代码注释里有,就是 print root.data, 这句代码的位置的区别,非常简单。完整代码:#!/usr/bin/python# Filename: BTree.pyclass BTNode: def __init__(self, d
原创
博文更新于 2013.05.09 ·
938 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

python算法--堆排序详细实现

堆排序的时间复杂度也 O(nlog n),而且只需要一个记录大小的辅助空间。对n个元素的序列 {k1, k2, ..., kn},若将此序列看成是一个完全二叉树,若 对所有节点,其关键字均恒小于(或大于)左右孩子的关键字,则称该序列为堆。使用堆排序,无非就是两步:1、建立堆 2、取出堆顶元素之后调整序列为新堆。调整:输出堆顶元素之后,将最后的元素放在堆顶(即k0)的位置,然后从
原创
博文更新于 2013.05.09 ·
637 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

python算法--快速排序详细实现

快速排序的基本思想就是:分割。即以序列中的一个关键字(第一个,或者最后一个,或者任意一个)作为枢轴,将整个序列分割成两部分----比枢轴大的一部分和比枢轴小的一部分。然后再分别对这两部分(不包括枢轴)进行递归运算,直到序列有序。        如何划分?        令序列中第一个元素的下标为first,最后一个为last,枢轴为pivot, 序列为array。 这样从两端开始,让 ar
原创
博文更新于 2013.05.06 ·
777 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏