🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: bit.listserv.asm370
Article #126

Re: Shifting memory to the right

#126
From: Baron Carter
Date: Fri, 30 Sep 2005 16:24
105 lines
5354 bytes
And of course don't forget Red-Black trees.  -Introduction to
Algorithms, Cormen et.al.

Baron Carter
Rocket Software, Inc

-----Original Message-----
From: IBM Mainframe Assembler List
[mailto:ASSEMBLER-LIST@LISTSERV.UGA.EDU] On Behalf Of Michael Stack
Sent: Friday, 30 September, 2005 10:48
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
Subject: Re: Shifting memory to the right

If you're going to do a binary search, why not use a balanced binary
search
tree?  If a tree node is a row, your link memory overhead would be
relatively small and your search time would be comparable.  And if you
are
not inserting too many rows, the overhead for balancing should be small,
too.  A lot less virtual (and real) memory used, as well.

It's usually (!) less costly to manipulate a data structure than to move
data around.  YMMV.  See Knuth, TAoCP, Vol 3, 2nd Ed. (Sorting and
Searching) pp 471-473 for a discussion of using a balanced tree to
represent a linear list.

Mike

At 09:57 AM 9/30/2005 -0500, Don Nielsen wrote:
> > Why not just have the table entries linked with a "next" pointer ?
>
>Binary searching of the tables after they have been loaded.
>
> > Have a second buffer for the table.
>
>Good thought.  There are three tables involved, which are already very
>large (75 meg between them).  I'll look into a fourth for buffer space.
>
>
>
>-----Original Message-----
>From: IBM Mainframe Assembler List
>[mailto:ASSEMBLER-LIST@LISTSERV.UGA.EDU]On Behalf Of Beate Kawelke
>Sent: Friday, September 30, 2005 9:14 AM
>To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
>Subject: Re: Shifting memory to the right
>
>
>Hmmmm - two thoughts:
>
>1. Why not just have the table entries linked with a "next" pointer ?
If
>necessary, throw in a "previous" pointer, too. Navigation through the
>table is quite easy, and you can add / delete entries simply by
chaining
>them in the right place.
>2. Have a second buffer for the table. Move upper part to buffer, then
the
>new entry, then the lower part.
>
>HTH, Beate
>
> > -----Original Message-----
> > From: IBM Mainframe Assembler List
> > [mailto:ASSEMBLER-LIST@LISTSERV.UGA.EDU] On Behalf Of Don Nielsen
> > Sent: Friday, September 30, 2005 3:56 PM
> > To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
> > Subject: [ASSEMBLER-LIST] Shifting memory to the right
> >
> > Nothing like a dumb applications programmer question to end
> > the week.  Is there an instruction like MVCL that moves
> > memory starting at the end working to the beginning.  I have
> > a table that is in sequence.  I want to insert a new row,
> > maintaining sequence.  That requires shifting right the end
> > of the table.  It would be great to just code an MVCL to do
> > it, but I would be overwrite data.  But if MVCL started with
> > the last byte and worked its way to the start, then the shift
> > would be easy.  Does any such instruction or function exist?
> >
> > I guess I could do something silly and build the table
> > starting at the end of the of memory block and shift it left
> > as I build it.
> >
> > dvn
> >
> > Don V Nielsen
> > Products & Tools
> > CMS
> > 3707 Corporate Drive
> > Marshfield, WI 54449
> > donn@cmscms.com
> >
> > > '715-486-8807 X434
> > >
> > Better Results, Faster!
> >




Michael Stack                 e-mail:   mstack@niu.edu
                               ear-mail: 1.815.753.9447
Computer Science Department   fax:      1.815.753.0342
Northern Illinois University  www:      http://mstack.cs.niu.edu/
DeKalb, IL  60115             skype:    callto://mstack
Technical Details
Message-ID: <2CAA1CB5323E504ABCCF5F3675C951CF0668A5@txmail2.rocketsoftware.com>
Path: arc1-ca.pugleaf.net!g2news1.google.com!news3.google.com!news.glorb.com!logbridge.uoregon.edu!tethys.csu.net!nntp.csufresno.edu!sn-xit-03!sn-xit-08!sn-xit-01!sn-xit-14!supernews.com!149.173.6.116.MISMATCH!foggy!vm.sas.com!rocketsoftware.com!baron.carter

Show Full Headers
Complete Article Headers
X-Google-Thread: fcdcb,3e46d196c2b56e33
X-Google-Attributes: gidfcdcb,public
X-Google-Language: ENGLISH,ASCII-7-bit
Path: arc1-ca.pugleaf.net!g2news1.google.com!news3.google.com!news.glorb.com!logbridge.uoregon.edu!tethys.csu.net!nntp.csufresno.edu!sn-xit-03!sn-xit-08!sn-xit-01!sn-xit-14!supernews.com!149.173.6.116.MISMATCH!foggy!vm.sas.com!rocketsoftware.com!baron.carter
From: Baron Carter <baron.carter@rocketsoftware.com>
Newsgroups: bit.listserv.asm370
Subject: Re: Shifting memory to the right
Date: Fri, 30 Sep 2005 12:24:51 -0400
Organization: SAS Inc.
Lines: 105
Sender: IBM Mainframe Assembler List <ASSEMBLER-LIST@LISTSERV.UGA.EDU>
Message-ID: <2CAA1CB5323E504ABCCF5F3675C951CF0668A5@txmail2.rocketsoftware.com>
NNTP-Posting-Host: mozart.unx.sas.com
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-Trace: foggy.unx.sas.com 1128097671 18211 10.19.150.41 (30 Sep 2005 16:27:51 GMT)
X-Complaints-To: usenet@unx.sas.com
NNTP-Posting-Date: Fri, 30 Sep 2005 16:27:51 +0000 (UTC)
Comments: Gated by NETNEWS@VM.SAS.COM
Return-Path: <owner-assembler-list@LISTSERV.UGA.EDU>
X-MimeOLE: Produced By Microsoft Exchange V6.0.6603.0
content-class: urn:content-classes:message
Thread-Topic: Re: Shifting memory to the right
Thread-Index: AcXF2OixtyzeHTDOQZ2ivbIaUrP8zwAAjZcg
X-MIME-Autoconverted: from quoted-printable to 8bit by listserv.cc.uga.edu id
                      j8UGOsGj028595
Approved-By: Baron Carter <baron.carter@ROCKETSOFTWARE.COM>
Return-Path: owner-assembler-list@LISTSERV.UGA.EDU
X-OriginalArrivalTime: 30 Sep 2005 16:27:49.0108 (UTC)
                       FILETIME=[E5A2AB40:01C5C5DB]
X-Mime-Autoconverted: from 8bit to 7bit by mime827
Originator: daemon@mozart.unx.sas.com