文章分类 -  数据结构和算法

摘要:http://www.cnblogs.com/ggjucheng/archive/2012/11/13/2768959.html 前言 通过MySQLReplication功能所实现的扩展总是会受到数据库大小的限制,一旦数据库过于庞大,尤其是当写入过于频繁,很难由一台主机支撑的时候,我们还是会面临到 阅读全文
posted @ 2018-05-20 19:24 dion至君 阅读(120) 评论(0) 推荐(0) 编辑
摘要:平时有很多朋友在咨询LUN和存储卷的概念,今天刚好有点时间,在网上查了查LUN和卷的资料,然后给大家整理一下,供大家一起学习和交流。一、LUN的概念 LUN的全称是Logical Unit Number,也就是逻辑单元号。我们知道SCSI总线上可挂接的设备数量是有限的,一般为6个或者15个,我们可以 阅读全文
posted @ 2018-03-15 23:45 dion至君 阅读(11234) 评论(0) 推荐(0) 编辑
摘要:前言 补习基础的数据结构和算法的时候,很多都是用c或者java写的,顺便我用python重构一遍吧,也当做是补习了~ 排序算法 冒泡排序 ​ 冒泡排序原理即:从数组下标为0的位置开始,比较下标位置为0和1的数据,如果0号位置的大,则交换位置,如果1号位置大,则什么也不做,然后右移一个位置,比较1号和 阅读全文
posted @ 2018-03-12 13:38 dion至君 阅读(125) 评论(0) 推荐(0) 编辑
摘要:1、 选择排序、快速排序、希尔排序、堆排序不是稳定的排序算法, 冒泡排序、插入排序、归并排序和基数排序是稳定的排序算法。 2、研究排序算法的稳定性有何意义? 首先,排序算法的稳定性大家应该都知道,通俗地讲就是能保证排序前两个相等的数据其在序列中的先后位置顺序与排序后它们两个先后位置顺序相同。 再简单 阅读全文
posted @ 2018-03-12 09:52 dion至君 阅读(1387) 评论(1) 推荐(0) 编辑
摘要:理论总结 它要解决什么样的问题? 数据的访问、存取、计算太慢、太不稳定、太消耗资源,同时,这样的操作存在重复性。因此希望有这样一种中间媒介,放置在其间,只保存自己关心的数据,而不关心具体数据逻辑内容,对于重复性的操作给出响应。对于数据和服务的使用者,它是透明的。 为哪些数据做缓存? 模型对象,这在业 阅读全文
posted @ 2018-03-10 17:25 dion至君 阅读(241) 评论(0) 推荐(0) 编辑
摘要:介绍: 树是数据结构中很重要的一种,基本的用途是用来提高查找效率,对于要反复查找的情况效果更佳,如二叉排序树、FP-树。 另外能够用来提高编码效率,如哈弗曼树。 代码: 用python实现树的构造和几种遍历算法,尽管不难。只是还是把代码作了一下整理总结。 实现功能: 总结: 树的遍历主要有两种,一种 阅读全文
posted @ 2018-02-27 18:23 dion至君 阅读(170) 评论(0) 推荐(0) 编辑
摘要:一、概述 排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。 我们这里说说八大排序就是内部排序。 当n较大,则应采用时间复杂度为O(nlog2n)的排序方法:快速排序、堆排序或归并排序序。 快速排序:是目 阅读全文
posted @ 2018-02-26 10:12 dion至君 阅读(101) 评论(0) 推荐(0) 编辑
摘要:正文 回到顶部 栈(stack) 栈(stack)是一种后进先出(LIFO)的集合类型, 即后来添加的数据会先被删除 可以将其类比于下面文件的取放操作:新到的文件会被先取走,这使得每次取走的文件都是最新的。 栈可以用数组或者队列去实现 下面要实现的栈的API如下图所示: 用数组实现栈 下面我们通过数 阅读全文
posted @ 2018-02-25 15:01 dion至君 阅读(135) 评论(0) 推荐(0) 编辑
摘要:模拟退火算法来源于固体退火原理,将固体加温至充分高,再让其徐徐冷却,加温时,固体内部粒子随温升变为无序状,内能增大,而徐徐冷却时粒子渐趋有序,在每个温度都达到平衡态,最后在常温时达到基态,内能减为最小。根据Metropolis准则,粒子在温度T时趋于平衡的概率为e-ΔE/(kT),其中E为温度T时的 阅读全文
posted @ 2018-02-25 14:38 dion至君 编辑
摘要:原文地址 15道使用频率极高的基础算法题: 1、合并排序,将两个已经排序的数组合并成一个数组,其中一个数组能容下两个数组的所有元素;2、合并两个已经排序的单链表;3、倒序打印一个单链表; 4、给定一个单链表的头指针和一个指定节点的指针,在O(1)时间删除该节点;5、找到链表倒数第K个节点;6、反转单 阅读全文
posted @ 2018-02-23 20:02 dion至君 编辑
摘要:问题: 将一个整数转换成字符串,要求不能使用系统调用。 // 将整数转换成字符串 void hitoa(int num, char a[]) { int n; int ti = num; int i = 0, j; while (ti) { a[i] = ti%10 + '0'; //取最后一个数, 阅读全文
posted @ 2018-02-23 20:01 dion至君 编辑
只有注册用户登录后才能阅读该文。
posted @ 2018-02-23 20:00 dion至君 编辑
摘要:数据结构是以某种形式将数据组织在一起的集合,它不仅存储数据,还支持访问和处理数据的操作。算法是为求解一个问题需要遵循的、被清楚指定的简单指令的集合。下面是自己整理的常用数据结构与算法相关内容,如有错误,欢迎指出。 为了便于描述,文中涉及到的代码部分都是用Java语言编写的,其实Java本身对常见的几 阅读全文
posted @ 2018-02-23 19:54 dion至君 编辑
摘要:1.堆 堆(Heap))是一种重要的数据结构,是实现优先队列(Priority Queues)首选的数据结构。由于堆有很多种变体,包括二项式堆、斐波那契堆等,但是这里只考虑最常见的就是二叉堆(以下简称堆)。 堆是一棵满足一定性质的二叉树,具体的讲堆具有如下性质:父节点的键值总是不大于它的孩子节点的键 阅读全文
posted @ 2018-02-23 19:46 dion至君 编辑
摘要:近日Emanuele Viola在Stackexchange上提了这样的一个问题,他希望有人能够列举一些目前软件、硬件中正在使用的算法的实际案例来证明算法的重要性,对于大家可能给到的回答,他还提出了几点要求: 使用这些算法的软件或者硬件应该是被广泛应用的; 例子需要具体,并给出确切的系统、算法的引用 阅读全文
posted @ 2018-02-23 19:44 dion至君 编辑
摘要:前一篇给大家介绍了《优化的直接插入排序(二分查找插入排序,希尔排序)》,现在继续介绍其他排序算法 本博文介绍两个最常被提起的排序算法:冒泡排序和快速排序。冒泡排序是入门排序算法,思路比较常规,但确是最耗时的排序算法,所以听到冒泡排序笑一笑就好了,千万不要拿来装B。另一个是被誉为“20世纪最伟大的十大 阅读全文
posted @ 2018-02-21 14:09 dion至君 编辑
摘要:本节内容 1. 问题由来 项目中用到了展示用户多级评论的功能,但是在数据库中存储的每行数据之前是通过parent_id来标示他们之间的关系。从数据库中取出这一行行的数据,需要转换成类似于json数据格式的类型(其实就是通过parent_id将评论关联起来生成一颗一颗的评论树),再将数据传递给前端进行 阅读全文
posted @ 2018-02-11 17:37 dion至君 编辑
摘要:数据结构 什么是数据结构? 简单来说,数据结构就是设计数据以何种方式组织并存储在计算机中。 比如:列表、集合与字典等都是一种数据结构 N.Wirth: “程序=数据结构+算法” 列表 列表:在其他编程语言中称为“数组”,是一种基本的数据结构类型。 关于列表的问题: 列表中元素使如何存储的? 列表提供 阅读全文
posted @ 2018-02-10 16:46 dion至君 编辑
只有注册用户登录后才能阅读该文。
posted @ 2018-02-08 10:04 dion至君 编辑

点击右上角即可分享
微信分享提示