由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 求一个算法思路
相关主题
Level order traversal只让用一个Queue怎么做?如何判断一个tree是另外一个tree的subtree?
How to design google search suggestion?How to turn a binary search tree into a sorted array?
A家一道onsite题贴一道老算法题
serialize tree可否用in order或者post order一道二叉树的老题
MS面试题关于遍历二叉树的复杂度
问一个链表方面的算法问题 (转载)问一个链表的问题
请教一个BST找Median的题目amazon二面
怎么返回单链表里面的环的前一个节点的位置?说说面了几个老印的体会
相关话题的讨论汇总
话题: sell话题: order话题: 价格话题: buy话题: 根据
进入JobHunting版参与讨论
1 (共1页)
h******6
发帖数: 3
1
一个简化的 order matching system.
匹配 sell/buy 的order, 只根据时间,不根据成交价格高低
price quantity
1. sell 120 10
2. sell 200 10
3. sell 100 10
4 buy 150 15
5 buy 200 5
交易完成后是
2. sell 200 5
3. sell 100 5
不知道怎么实现价格匹配最好
最简单的实现是一个list, 按时间顺序插入节点,有一个order来,从头遍历每个节点
,价格合适就trade. 但这样实现会不会太慢。
但这个不要求trade根据价格来,所以也没办法用价格做key 来做map. 请教各位有啥更
好的方法吗?
谢谢
n**********r
发帖数: 43
2
没太搞明白你这个是干啥用的。是面试题吗?
既然是order matching system,应该从System Design的角度考虑。
至少要用数据库吧,这样算法的那点复杂度基本可以直接忽略,因为硬盘操作和内存操
作不是一个数量级的。加快速度用cache,然后数据量大了分布式存储。
纯算法的话可以用生产者消费者吧,但是因为根据时间来定,用不了多线程。
可以用两个Queue,一个是Buy的,一个是Sell的,生产者简单就是根据Order类型入对
,消费者是从两个队列的头部开始比较,决定如何Trade。
1 (共1页)
进入JobHunting版参与讨论
相关主题
说说面了几个老印的体会MS面试题
How to find the kth biggest number in a BST问一个链表方面的算法问题 (转载)
一道MS面试题请教一个BST找Median的题目
讨论 找单链表倒数m的节点怎么返回单链表里面的环的前一个节点的位置?
Level order traversal只让用一个Queue怎么做?如何判断一个tree是另外一个tree的subtree?
How to design google search suggestion?How to turn a binary search tree into a sorted array?
A家一道onsite题贴一道老算法题
serialize tree可否用in order或者post order一道二叉树的老题
相关话题的讨论汇总
话题: sell话题: order话题: 价格话题: buy话题: 根据