{"title":"红/蓝路段交叉口的计数和报告","authors":"Palazzi L., Snoeyink J.","doi":"10.1006/cgip.1994.1027","DOIUrl":null,"url":null,"abstract":"<div><p>We simplify the red/blue segment intersection algorithm of Chazelle <em>et al</em>. (Technical Report UIUC DCS-R-90-1578, Department of Computer Science, University of Illinois at Urbana, 1990). Given sets of <em>n</em> disjoint red and <em>n</em> disjoint blue segments, we count red/blue intersections in <em>O</em>(<em>n</em> log <em>n</em>) time using <em>O</em>(<em>n</em>) space or report them in additional time proportional to their number. Our algorithm uses a plane sweep to presort the segments; then it operates on a list of slabs that efficiently stores a single level of a segment tree. With no dynamic memory allocation, low pointer overhead, and mostly sequential memory reference, our algorithm performs well even with inadequate physical memory.</p></div>","PeriodicalId":100349,"journal":{"name":"CVGIP: Graphical Models and Image Processing","volume":"56 4","pages":"Pages 304-310"},"PeriodicalIF":0.0000,"publicationDate":"1994-07-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://sci-hub-pdf.com/10.1006/cgip.1994.1027","citationCount":"0","resultStr":"{\"title\":\"Counting and Reporting Red/Blue Segment Intersections\",\"authors\":\"Palazzi L., Snoeyink J.\",\"doi\":\"10.1006/cgip.1994.1027\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"<div><p>We simplify the red/blue segment intersection algorithm of Chazelle <em>et al</em>. (Technical Report UIUC DCS-R-90-1578, Department of Computer Science, University of Illinois at Urbana, 1990). Given sets of <em>n</em> disjoint red and <em>n</em> disjoint blue segments, we count red/blue intersections in <em>O</em>(<em>n</em> log <em>n</em>) time using <em>O</em>(<em>n</em>) space or report them in additional time proportional to their number. Our algorithm uses a plane sweep to presort the segments; then it operates on a list of slabs that efficiently stores a single level of a segment tree. With no dynamic memory allocation, low pointer overhead, and mostly sequential memory reference, our algorithm performs well even with inadequate physical memory.</p></div>\",\"PeriodicalId\":100349,\"journal\":{\"name\":\"CVGIP: Graphical Models and Image Processing\",\"volume\":\"56 4\",\"pages\":\"Pages 304-310\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"1994-07-01\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"https://sci-hub-pdf.com/10.1006/cgip.1994.1027\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"CVGIP: Graphical Models and Image Processing\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://www.sciencedirect.com/science/article/pii/S1049965284710273\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"CVGIP: Graphical Models and Image Processing","FirstCategoryId":"1085","ListUrlMain":"https://www.sciencedirect.com/science/article/pii/S1049965284710273","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
Counting and Reporting Red/Blue Segment Intersections
We simplify the red/blue segment intersection algorithm of Chazelle et al. (Technical Report UIUC DCS-R-90-1578, Department of Computer Science, University of Illinois at Urbana, 1990). Given sets of n disjoint red and n disjoint blue segments, we count red/blue intersections in O(n log n) time using O(n) space or report them in additional time proportional to their number. Our algorithm uses a plane sweep to presort the segments; then it operates on a list of slabs that efficiently stores a single level of a segment tree. With no dynamic memory allocation, low pointer overhead, and mostly sequential memory reference, our algorithm performs well even with inadequate physical memory.