数据结构与算法
文章平均质量分 57
KeeJee
机器学习,数据挖掘
展开
-
经典算法之—背包问题
一.完全背包问题问题描述:有一个背包容量为M,一堆物品其重量表示为W={w(1),w(2),…},物品相应的价值V={v(1),v(2),…},现在要求将物品中的一部分或全部,放入背包。要求:装入物品的总价值最高;同时满足装入物品总重量不超过M;对单个物品而言,状态可为:装入背包、不装入背包、一部分装入背包。假设装入的物品为从w(i)到w(j),则有:对于完全背包而言,我们采用原创 2016-12-18 18:39:31 · 3128 阅读 · 0 评论 -
剑指offer - 第四题
在一个二维数组中,每一行都按照从左到右递增的顺序排序。每一列都按照从上到下递增的顺序排序。请完成这样一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。1 2 8 92 4 9 124 7 10 136 8 11 15如果查找数字是7, 返回true; 查找5返回false原创 2017-10-24 11:07:23 · 359 阅读 · 0 评论 -
大话数据结构 - 链表
1. 顺序表的缺陷线性表的顺序存储结构有致命的缺陷, 由于地址的连续性, 插入和删除都需要移动大量的元素;2. 链表 - 线性表的链式存储结构链表为了摆脱顺序表的缺陷, 从物理结构上链表各个元素是随机位置, 而不是连续存储; 这样也就导致了每个节点除了存储本身的数据之外还需要存储下一个节点的地址;这是的插入和删除非常方便, 但是无法像顺序表那样直接获取某个位置的元素, 只能原创 2017-09-25 20:26:15 · 627 阅读 · 0 评论 -
大话数据结构 - 栈与队列
大话数据结构第四章:栈与队列;栈、队列以及链表同属线性表栈:先进后出;队列:先进先出原创 2017-11-01 20:20:52 · 480 阅读 · 0 评论 -
大话数据结构 - 串
1. 串的定义串是由0个或多个字符组成的有限序列,也叫做字符串。2. 串的比较3. 串的抽象数据类型4. 串的存储结构5. 朴素的模式匹配算法6.KMP模式匹配算法原创 2017-11-02 21:27:02 · 454 阅读 · 0 评论 -
大话数据结构 - 顺序表
线性表就是0个或多个数据元素的有限序列; 元素之间存在顺序, 除开头结尾之外, 每个元素有且仅有一个前驱元素, 后继元素。线性表的顺序存储叫做顺序表,简单的说就是对数组进行封装,使得更好的满足需求。1. 线性表的顺序存储结构线性表的顺序存储结构指的是用一段地址连续的内存依次存储线性表的数据元素 2. 线性表的链式存储结构链表3. 顺序表Python实现原创 2017-09-24 13:59:33 · 439 阅读 · 0 评论 -
经典算法之—模拟退火
一.爬山算法介绍模拟退火前,先介绍爬山算法。爬山算法是一种简单的贪心搜索算法,该算法每次从当前解的临近解空间中选择一个最优解作为当前解,直到达到一个局部最优解。爬山算法实现很简单,其主要缺点是会陷入局部最优解,而不一定能搜索到全局最优解。如图1所示:假设C点为当前解,爬山算法搜索到A点这个局部最优解就会停止搜索,因为在A点无论向那个方向小幅度移动都不能得到更优的解。 图1二.模原创 2016-12-17 19:35:20 · 1942 阅读 · 0 评论 -
经典算法之—动态规划
动态规划是一种求解多阶段决策问题的最优化算法。一.多阶段决策过程事件的发展过程分为若干个相互联系的阶段。事件的发展总是初始状态开始,依次经过第一阶段、第二阶段、第三阶段、 …,直至最后一个阶段结束。 如图1所示: 图1二.动态规划术语及性质为了更好说明问题,我们引入几个术语:(1)阶段:把所给求解问题的过程恰当地分成若干个相互联系的阶段。如图1所示V1、V2……。值得注原创 2016-12-16 23:59:50 · 1407 阅读 · 0 评论 -
数据结构的本质
数据结构的本质就在于:如何将现实世界中各种各样的数据放入到内存中,并且如何在内存中操作这些数据,如何评价这些存储方案和操作方法。数据结构难学吗?是难学。 为什么难学?一开始上来就讲空间复杂度、时间复杂度,就讲抽象数据,当然难学了。1、生活、生产等现实世界的数据有各种各样的组成形式。例如一个课程的所有学生的成绩(一组数据),一个班全部学生的所有课程的成绩(一张表)、一个单位的人转载 2017-01-11 15:48:46 · 2484 阅读 · 1 评论 -
Java数据结构与算法 - 线性表
线性表原创 2017-07-09 14:29:21 · 310 阅读 · 0 评论 -
Java数据结构与算法 - 哈希表
哈希表原创 2017-07-09 14:30:51 · 441 阅读 · 0 评论 -
机器学习 - 竞赛网站,算法刷题网站
数据竞赛类网站Kaggle阿里巴巴天池大数据比赛DataCastleCCF大数据与计算智能大赛Di-Tech算法大赛KDD-CupKDnuggets Competition全国高校云计算应用创新大赛Byte Cup国际机器学习竞赛WID数据竞赛数据火车竞赛网站DrivenData Competition上海SODA大赛赛氪网TopCoder大赛网数据科学&机器学习的在线学习原创 2017-07-24 13:35:13 · 22365 阅读 · 1 评论 -
Java数据结构与算法 - 红黑树
红黑树原创 2017-08-11 09:14:00 · 390 阅读 · 2 评论 -
Java数据结构与算法 - 图
图原创 2017-08-11 09:14:59 · 350 阅读 · 0 评论 -
Java数据结构与算法 - 堆
堆原创 2017-08-11 09:17:02 · 292 阅读 · 0 评论 -
Java数据结构与算法 - 带权图
带权图原创 2017-08-11 09:18:38 · 563 阅读 · 0 评论 -
Java数据结构与算法 - 数据结构的应用场景
数据结构的应用场景原创 2017-08-11 09:25:57 · 919 阅读 · 0 评论 -
Java数据结构与算法 - 数组
数据结构与算法学习,参考的书籍为《Java数据结构与算法》。原创 2017-07-09 14:27:31 · 767 阅读 · 0 评论 -
Java数据结构与算法 - 栈和队列
主要涉及三种数据存储类型:栈,队列,优先级队列。原创 2017-07-27 13:31:27 · 1392 阅读 · 0 评论 -
Java数据结构与算法 - 链表
链表原创 2017-07-09 14:28:21 · 401 阅读 · 0 评论 -
剑指offer - 第三题
# -*- coding: utf-8 -*-"""《剑指offer》第3题 - 找出数组中重复的数字在一个长度为n的数组里所有的数字都在0~n-1之间, 数组可能存在重复数字, 找出这个数组中重复的数字中的任意一个;比如输入长度为7的数组{2, 3, 1, 0, 2, 5, 3}, 对应重复数字为2, 3;1. 利用哈希表是最常见的解法, 但是需要维护一个空间复杂度为o(n)的哈原创 2017-09-20 21:47:40 · 740 阅读 · 0 评论 -
大话数据结构 - 数据结构概论
1. 数据结构的逻辑结构 数据元素之间的相互关系 1.1 集合结构 集合结构之间的元素除了属于同一个集合之外, 他们之间没有任何其他关系, 各个元素的关系是平等的; 1.2 线性结构 元素之间存在一对一的关系, 比如数组, 链表; 1.3 树形结构 元素之间存在一对多的关系原创 2017-09-24 13:56:36 · 435 阅读 · 0 评论