Programowanie w jezyku Java Podejscie interdyscyplinarne Wydanie II.pdf
(
2291 KB
)
Pobierz
Tytuł oryginału: Introduction to Programming in Java: An Interdisciplinary Approach (2nd Edition)
Tłumaczenie: Paweł Gonera (wstęp, rozdz. 1 – 3, dodatki),
Michał Kępski, Tomasz Walczak (rozdz. 4)
ISBN: 978-83-283-3793-0
Authorized translation from the English language edition, entitled: INTRODUCTION TO
PROGRAMMING IN JAVA: AN INTERDISCIPLINARY APPROACH, 2ND EDITION;
ISBN 0672337843; by Robert Sedgewick and Kevin Wayne; published by Pearson Education,
Inc, publishing as Addison-Wesley Professional. Copyright ©2017 by Pearson Education, Inc.
Ali rights reserved. No part of this book may be reproduced or transmitted in any form
or by any means, electronic or mechanical, including photocopying, recording or by any
information storage retrieval system, without permission from Pearson Education, Inc.
Polish language edition published by HELION S.A., Copyright © 2018.
Wszelkie prawa zastrzeżone. Nieautoryzowane rozpowszechnianie całości lub fragmentu
niniejszej publikacji w jakiejkolwiek postaci jest zabronione. Wykonywanie kopii metodą
kserograficzną, fotograficzną, a także kopiowanie książki na nośniku filmowym,
magnetycznym lub innym powoduje naruszenie praw autorskich niniejszej publikacji.
Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi bądź
towarowymi ich właścicieli.
Autor oraz Helion SA dołożyli wszelkich starań, by zawarte w tej książce informacje były
kompletne i rzetelne. Nie biorą jednak żadnej odpowiedzialności ani za ich wykorzystanie,
ani za związane z tym ewentualne naruszenie praw patentowych lub autorskich. Autor oraz
Helion SA nie ponoszą również żadnej odpowiedzialności za ewentualne szkody wynikłe
z wykorzystania informacji zawartych w książce.
Wydawnictwo HELION
ul. Kościuszki 1c, 44-100 GLIWICE
tel. 32 231 22 19, 32 230 98 63
e-mail:
helion@helion.pl
WWW:
http://helion.pl
(księgarnia internetowa, katalog książek)
Pliki z przykładami omawianymi w książce można znaleźć pod adresem:
ftp://ftp.helion.pl/przyklady/prjaid.zip
Drogi Czytelniku!
Jeżeli chcesz ocenić tę książkę, zajrzyj pod adres
http://helion.pl/user/opinie/prjaid
Możesz tam wpisać swoje uwagi, spostrzeżenia, recenzję.
Printed in Poland.
•
Kup książkę
•
Poleć książkę
•
Oceń książkę
•
Księgarnia internetowa
•
Lubię to! » Nasza społeczność
Spis treści
Spis programów ........................................................................................... 9
Wstęp ......................................................................................................... 11
1. Elementy programowania ...................................................................... 19
1.1. Twój pierwszy program ..................................................................................................20
1.2. Wbudowane typy danych ..............................................................................................30
1.3. Instrukcje warunkowe i pętle ........................................................................................62
1.4. Tablice ...............................................................................................................................98
1.5. Operacje wejścia i wyjścia ........................................................................................... 130
1.6. Studium przypadku: losowy surfer sieci WWW ....................................................... 170
2. Funkcje i moduły .................................................................................. 189
2.1. Definiowanie funkcji .................................................................................................... 190
2.2. Biblioteki i klienty ........................................................................................................ 220
2.3. Rekurencja ..................................................................................................................... 252
2.4. Studium przypadku: przesiąkanie .............................................................................. 286
3. Programowanie obiektowe .................................................................. 311
3.1. Użycie typów danych ................................................................................................... 312
3.2. Tworzenie typów danych ............................................................................................ 358
3.3. Projektowanie typów danych ..................................................................................... 400
3.4. Studium przypadku: symulacja n-ciał ....................................................................... 444
4. Algorytmy i struktury danych ............................................................... 457
4.1. Wydajność ..................................................................................................................... 458
4.2. Sortowanie i przeszukiwanie ...................................................................................... 492
4.3. Stosy i kolejki ................................................................................................................ 524
4.4. Tablice symboli ............................................................................................................. 578
4.5. Studium przypadku: zjawisko małego świata .......................................................... 620
Kontekst .................................................................................................. 661
Słownik .................................................................................................... 667
Skorowidz ................................................................................................ 675
API ........................................................................................................... 687
7
Kup książkę
Poleć książkę
8
Spis programów
Spis programów
Elementy programowania
Twój pierwszy program
1.1.1. Witaj świecie .......................................... 22
1.1.2. Zastosowanie argumentów wiersza
poleceń .................................................... 25
Funkcje i moduły
Definiowanie funkcji
2.1.1. Liczby harmoniczne
(kolejne podejście) ..............................192
2.1.2. Funkcje Gaussa ....................................200
2.1.3. Kolekcjoner kuponów
(kolejne podejście) ..............................202
2.1.4. Odtwarzanie dźwięku
(kolejne podejście) ..............................208
Wbudowane typy danych
1.2.1. Łączenie ciągów znaków ...................... 35
1.2.2. Mnożenie i dzielenie całkowite ........... 38
1.2.3. Równanie kwadratowe ......................... 40
1.2.4. Rok przestępny ...................................... 43
1.2.5. Rzutowanie w celu uzyskania
losowej liczby całkowitej ...................... 47
Biblioteki i klienty
2.2.1. Biblioteka liczb losowych ...................226
2.2.2. Biblioteka operacji wejścia-wyjścia
dla tablic ................................................231
2.2.3. Systemy funkcji iteracyjnych .............233
2.2.4. Biblioteka analizy danych ...................237
2.2.5. Wizualizacja wartości z tablicy ..........238
2.2.6. Próby Bernoulliego ..............................240
Instrukcje warunkowe i pętle
1.3.1. Rzut monetą ........................................... 65
1.3.2. Pierwsza pętla while .............................. 66
1.3.3. Obliczanie potęg liczby 2 ..................... 67
1.3.4. Pierwsze zagnieżdżone pętle ............... 73
1.3.5. Liczby harmoniczne ............................. 75
1.3.6. Metoda Newtona ................................... 76
1.3.7. Konwersja na liczbę binarną ............... 78
1.3.8. Symulacja ruiny gracza ........................ 80
1.3.9. Wyznaczanie czynników
pierwszych liczby .................................. 81
Rekurencja
2.3.1. Algorytm Euklidesa .............................257
2.3.2. Wieże Hanoi .........................................259
2.3.3. Kod Graya .............................................264
2.3.4. Grafika rekurencyjna ..........................265
2.3.5. Most Browna ........................................267
2.3.6. Najdłuższa wspólna podsekwencja ....274
Tablice
1.4.1. Próbkowanie bez zastępowania ........ 105
1.4.2. Symulacja kolekcjonera kuponów .... 108
1.4.3. Sito Eratostenesa ................................. 110
1.4.4. Losowy spacer z samounikaniem ..... 117
Studium przypadku: przesiąkanie
2.4.1. Szkielet dla przesiąkania .....................290
2.4.2. Wykrywanie przesiąkania
pionowego ............................................291
2.4.3. Klient wizualizacji ...............................293
2.4.4. Oszacowanie prawdopodobieństwa
przesiąkania ..........................................295
2.4.5. Wykrywanie przesiąkania ..................297
2.4.6. Klient wykresu adaptacyjnego ...........300
Operacje wejścia i wyjścia
1.5.1. Generowanie losowej sekwencji ....... 132
1.5.2. Interakcyjne dane wejściowe ............. 139
1.5.3. Obliczanie średniej wartości
ze strumienia liczb .............................. 140
1.5.4. Prosty filtr ............................................. 144
1.5.5. Standardowy filtr wejścia
do rysowania ........................................ 148
1.5.6. Odbijająca się piłka ............................. 153
1.5.7. Przetwarzanie sygnałów cyfrowych ... 158
Studium przypadku:
losowy surfer sieci WWW
1.6.1. Obliczanie macierzy przejść .............. 173
1.6.2. Symulacja losowego surfera .............. 174
1.6.3. Mieszanie łańcuchów Markowa ....... 181
Kup książkę
Poleć książkę
Programowanie obiektowe
Użycie typów danych
3.1.1. Identyfikacja potencjalnego genu ..... 318
3.1.2. Kwadraty Albersa ................................ 323
3.1.3. Biblioteka luminancji .......................... 326
3.1.4. Konwersja koloru na skalę szarości .... 329
3.1.5. Skalowanie obrazów ........................... 331
3.1.6. Efekt przenikania ................................. 332
3.1.7. Łączenie plików ................................... 336
3.1.8. Zbieranie z ekranu danych
dotyczących kursów walut ................. 338
3.1.9. Dzielenie pliku ..................................... 339
Algorytmy i struktury danych
Wydajność
4.1.1. Problem ThreeSum ............................. 461
4.1.2. Walidacja hipotezy podwojenia ....... 463
Sortowanie i przeszukiwanie
4.2.1. Wyszukiwanie binarne
(gra w 20 pytań) .................................. 494
4.2.2. Metoda równego podziału ................. 497
4.2.3. Wyszukiwanie binarne
(dla uporządkowanej tablicy) ........... 498
4.2.4. Sortowanie przez wstawianie ............ 505
4.2.5. Program testujący hipotezę
podwajania ........................................... 507
4.2.6. Sortowanie przez scalanie .................. 510
4.2.7. Zliczanie wystąpień ............................ 515
Tworzenie typów danych
3.2.1. Naładowana cząstka ............................ 363
3.2.2. Stoper .................................................... 366
3.2.3. Histogram ............................................. 368
3.2.4. Grafika żółwia ...................................... 371
3.2.5. Spira mirabilis ...................................... 373
3.2.6. Liczby zespolone .................................. 377
3.2.7. Zbiór Mandelbrota .............................. 382
3.2.8. Konto giełdowe .................................... 385
Stosy i kolejki
4.3.1. Stos ciągów znaków
(implementacja tablicowa) ................ 528
4.3.2. Stos ciągów znaków (implementacja
za pomocą listy połączonej) .............. 533
4.3.3. Stos ciągów znaków
(zmienny rozmiar tablicy) ................. 536
4.3.4. Stos generyczny ................................... 541
4.3.5. Obliczanie wartości wyrażeń ............. 544
4.3.6. Generyczna kolejka FIFO
(z wykorzystaniem listy połączonej) ....550
4.3.7. Symulacja kolejki M/M/1 .................. 554
4.3.8. Symulacja równoważenia obciążenia
(ang. load balancing) .......................... 561
Projektowanie typów danych
3.3.1. Liczby zespolone
(podejście alternatywne) .................... 405
3.3.2. Licznik ................................................... 408
3.3.3. Wektor przestrzenny .......................... 414
3.3.4. Szkic dokumentu ................................. 429
3.3.5. Wykrywanie podobieństw ................. 431
Studium przypadku: symulacja n-ciał
3.4.1. Ciało grawitacyjne ............................... 446
3.4.2. Symulacja n-ciał .................................. 449
Tablice symboli
4.4.1. Przeszukiwanie słownika ................... 585
4.4.2. Indeksowanie ....................................... 587
4.4.3. Tablica mieszająca .............................. 592
4.4.4. Binarne drzewo poszukiwań ............. 599
4.4.5. Filtr usuwający duplikaty ................... 606
Studium przypadku:
zjawisko małego świata
4.5.1. Typ danych Graph .............................. 627
4.5.2. Używanie grafu do odwracania
indeksu ................................................. 630
4.5.3. Klient wyznaczający najkrótsze ścieżki .... 635
4.5.4. Implementacja wyszukiwania
najkrótszych ścieżek ........................... 639
4.5.5. Sprawdzanie, czy graf reprezentuje
mały świat ............................................ 644
4.5.6. Graf aktor-aktor .................................. 646
9
Kup książkę
Poleć książkę
Plik z chomika:
PDFator
Inne pliki z tego folderu:
Adobe AIR dla programistow JavaScript Leksykon kieszonkowy.pdf
(371 KB)
Architektura aplikacji w Pythonie TDD DDD i rozwoj mikrouslug reaktywnych.pdf
(2453 KB)
Algorytmy i struktury danych.pdf
(928 KB)
API nowoczesnej strony WWW Uslugi sieciowe w PHP.pdf
(718 KB)
Bash Praktyczne skrypty.pdf
(713 KB)
Inne foldery tego chomika:
3ds max
50 zadań i zagadek szachowych
Access
Acrobat
Administracja
Zgłoś jeśli
naruszono regulamin